在没有构造函数的情况下初始化类时会调用什么?

Tvr*_*vrd 5 java constructor class initializing

因此,当一个类有一个私有构造函数时,你无法初始化它,但是当它没有构造函数时你可以.那么在没有构造函数的情况下初始化类时调用的是什么?

例如,这里所谓的(新b())??

public class a {
    public static void main(String args[]) {
        b classB = new b();
    }
}

public class b {
    public void aMethod() {
    }
}
Run Code Online (Sandbox Code Playgroud)

Ian*_*rts 9

在Java中没有"没有构造函数的类"这样的东西 - 如果源代码中没有明确的构造函数,编译器会自动在类文件中添加一个默认构造函数:

public ClassName() {
  super();
}
Run Code Online (Sandbox Code Playgroud)

如果超类本身没有公共或受保护的无参数构造函数,则反过来可能无法编译.