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 중국어 웹사이트의 기타 관련 기사를 참조하세요!