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 中国語 Web サイトの他の関連記事を参照してください。