我正在创建一个空的 Java class 并编译它,是否会创建任何构造函数

I am creating an empty Java class and compiling it, will any constructor be created

我正在创建一个空的 Java class 并编译它,是否会在编译成功时创建任何构造函数

Class ABC{

}

如果 class 不包含构造函数声明,则隐式声明一个没有形式参数且没有 throws 子句的默认构造函数。

因此,如果您不放置任何构造函数,编译器将为您放置默认构造函数。

所以你的 class 会像:

class ABC {

    public ABC() {

    }
}

根据 Java 文档(Providing Constructors for Your Classes):

You don't have to provide any constructors for your class, but you must be careful when doing this. The compiler automatically provides a no-argument, default constructor for any class without constructors.

如果没有定义构造函数,它将创建一个默认构造函数

此外,如果我们编译您的 ABC class 并反编译生成的字节码,我们将看到以下代码:

public class ABC {
    public ABC() {
    }
}

所以编译后的版本有一个默认的构造函数