两个注意点:一,默认构造方法未必是public的,二,默认构造方法肯定有super();(Object类的是空构造方法)。
实际情况是,默认构造方法的修饰符是和所在类的修饰符一致的。
比如
public class Test{
}
它的默认构造方法是
public Test(){
super(); //可以不写
}
而
class Test{ //默认为default
}
它的默认构造方法是
Test(){
super();
}
这就没有public了。
对于内部类的情况,类的修饰符可能是private,protected。相应的构造方法的修饰符就是private和protected。