經過構造函數實例化對象

 1 /**
 2  * Created by hunt on 2017/6/27.
 3  * 測試的實體類
 4  * @Data 編譯後會自動生成set、get、無慘構造、equals、canEqual、hashCode、toString方法
 5  */
 6 @Data
 7 public class Person {
 8     private String name;
 9     private int age;
10     public Person(String name){
11         this.name = name;
12     }
13     public Person(int age){
14         this.age = age;
15     }
16     public Person(String name,int age){...}
17 
18 }
 1 import java.lang.reflect.Constructor;
 2 
 3 /**
 4  * Created by hunt on 2017/6/27.
 5  */
 6 public class NewInstanceTest {
 7     public static void main(String[] args) {
 8         Class<Person> personClass = Person.class;
 9         try {
10             Constructor<?> constructor  = personClass.getConstructor(java.lang.String.class);
11             Person p = (Person) constructor.newInstance("hunt");
12             System.out.println(p);
13         } catch (Exception e) {
14             e.printStackTrace();
15         }
16     }
17 }

總結:經過class.getConstructor(parameterTypes)得到對應的構造器,而後經過constructor.newInstance(parameterTypes)實例化對象。java

相關文章
相關標籤/搜索