首頁 >Java >java教程 >獲得類別中的建構子實例教程

獲得類別中的建構子實例教程

零下一度
零下一度原創
2017-06-28 09:36:401518瀏覽

透過class.getConstructors()方法取得類別的所有公共建構方法。

如果該類別沒有公共建構方法,或者該類是數組類,或者該類反映一個基本類型或 void,則傳回長度為 0 的數組。

 1 import lombok.Data; 2  3 /** 4  * Created by hunt on 2017/6/27. 5  * 测试的实体类 6  * @Data 编译后会自动生成set、get、无惨构造、equals、canEqual、hashCode、toString方法 7  */ 8 @Data 9 public class Person {10     private String name;11     private int age;12     public Person(){}13     public Person(String name){...}14     protected Person(int age){...}15     private Person(String name,int age){...}16 17 }
 1 /** 2  * Created by hunt on 2017/6/27. 3  */ 4 public class NewInstanceTest { 5     public static void main(String[] args) { 6         Class<Person> personClass = Person.class;//获取Class实例 7         Constructor<?> constructor[] = personClass.getConstructors(); 8         for (Constructor<?> con : constructor) { 9             System.out.println(con);10         }11 12     }13 }

 1 import lombok.Data; 2  3 /** 4  * Created by hunt on 2017/6/27. 5  * 测试的实体类 6  * @Data 编译后会自动生成set、get、无惨构造、equals、canEqual、hashCode、toString方法 7  */ 8 @Data 9 public class Person {10     private String name;11     private int age;12     private Person(String name){...}13     protected Person(int age){...}14     private Person(String name,int age){...}15 16 }
 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;//获取Class实例 9         Constructor<?> constructor[] = personClass.getConstructors();10         System.out.println(constructor.length);11         for (Constructor<?> con : constructor) {12             System.out.println(con);13         }14 15     }16 }

透過class.getDeclaredConstructors()方法獲得類別的所有建構方法(公共,保護,默認,和私有建構)。

如果該類別存在一個預設建構方法,則它包含在傳回的陣列中。如果此Class物件表示一個接口,一個基本類型,一個陣列類別或void,則這個方法傳回一個長度為0的陣列。

 1 /** 2  * Created by hunt on 2017/6/27. 3  */ 4 public class NewInstanceTest { 5     public static void main(String[] args) { 6         Class<Person> personClass = Person.class;//获取Class实例 7         Constructor<?> constructor[] = personClass.getDeclaredConstructors(); 8         System.out.println(constructor.length); 9         for (Constructor<?> con : constructor) {10             System.out.println(con);11         }12 13     }14 }

 

#注意:傳回的方法陣列中的元素沒有排序,也沒有任何特定的順序。

 

以上是獲得類別中的建構子實例教程的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn