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

标签 java class constructor initializing

<分区>

所以当一个类有私有(private)构造函数时你不能初始化它,但是当它没有构造函数时你可以。那么当你初始化一个没有构造函数的类时会调用什么?

举个例子,这里叫什么(new b())??

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

public class b {
    public void aMethod() {
    }
}

最佳答案

在 Java 中没有“没有构造函数的类”这样的东西 - 如果源代码中没有显式构造函数,编译器会自动将默认构造函数添加到类文件中:

public ClassName() {
  super();
}

如果父类(super class)本身没有公共(public)或 protected 无参数构造函数,这又可能无法编译。

关于java - 在没有构造函数的情况下初始化类时会调用什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15767449/

相关文章:

java - Android 5.0(API 21)之前如何确认设备凭证?

java - 在静态模式下使用 AudioTrack 的正确方法是什么?

javascript - 在 Javascript 类中声明公共(public)方法时出现语法错误

css - 将类定义为 CSS 属性?

java - 为什么在构造函数中添加到静态 ArrayList 会导致泄漏?

java - 我可以将 Class.newInstance() 与构造函数参数一起使用吗?

java - 如何使 Android ImageView 部分透明

java - 如果我的 bean 被声明为 @ApplicationScoped ,但它有一个公共(public)字段,会发生什么?

C++ 类函数别名

java - 未定义构造函数[处理中]