public class AppConstructors {
public static void main(String[] args) {
int[] arr = new int[3];
// getConstructors()方法将获取当前类的public构造方法,原生数据类型,void类型,数组,接口的构造方法数量都是0
System.out.println(int.class.getConstructors().length); // 0
System.out.println(void.class.getConstructors().length); // 0
System.out.println(Feature.class.getConstructors().length); // 0
System.out.println(arr.getClass().getConstructors().length); // 0
System.out.println(Fruit.class.getConstructors().length); // 1
System.out.println(Apple.class.getConstructors().length); // 1
System.out.println("=============");
// getDeclaredConstructors()方法将获取当前类的所有构造方法,原生数据类型,void类型,数组,接口的构造方法数量都是0
System.out.println(int.class.getDeclaredConstructors().length); // 0
System.out.println(void.class.getDeclaredConstructors().length); // 0
System.out.println(Feature.class.getDeclaredConstructors().length); // 0
System.out.println(arr.getClass().getDeclaredConstructors().length); // 0
System.out.println(Fruit.class.getDeclaredConstructors().length); // 2
System.out.println(Apple.class.getDeclaredConstructors().length); // 2
}
}
public interface Feature {
}
public class Apple extends Fruit {
private Apple() {
}
private String shape;
public Apple(String shape) {
this.shape = shape;
}
}
public class Fruit {
public Fruit() {
}
private Fruit(String name) {
this.name = name;
}
private String name;
}