Rufen Sie alle öffentlichen Konstruktoren der Klasse über die Methode class.getConstructors() ab.
Wenn die Klasse keinen öffentlichen Konstruktor hat oder die Klasse eine Array-Klasse ist oder die Klasse einen primitiven Typ oder void widerspiegelt, wird ein Array der Länge 0 zurückgegeben.
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 }
Rufen Sie alle Konstruktoren der Klasse (öffentliche, geschützte, Standard- und private Konstruktoren) über die Methode class.getDeclaredConstructors() ab.
Wenn für die Klasse ein Standardkonstruktor vorhanden ist, ist dieser im zurückgegebenen Array enthalten. Wenn dieses Klassenobjekt eine Schnittstelle, einen primitiven Typ, eine Array-Klasse oder void darstellt, gibt diese Methode ein Array der Länge 0 zurück.
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 }
Hinweis: Die Elemente im zurückgegebenen Methodenarray sind weder sortiert noch in einer bestimmten Reihenfolge.
Das obige ist der detaillierte Inhalt vonHolen Sie sich ein Tutorial zu Konstruktorbeispielen in Klassen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!