通過構造函數實例化對象


 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)實例化對象。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM