我正在创建一个空的Java类并对其进行编译,是否会创建任何构造函数

时间:2017-07-22 23:45:26

标签: java constructor empty-class

我正在创建一个空Java类并对其进行编译,是否会在成功编译时创建任何构造函数

ABC类

}

2 个答案:

答案 0 :(得分:3)

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

  

您不必为您的班级提供任何构造函数,但在执行此操作时必须小心。编译器会自动为没有构造函数的任何类提供无参数的默认构造函数。

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

另外,如果我们编译你的ABC类并反编译生成的字节码,我们将看到这段代码:

public class ABC {
    public ABC() {
    }
}

因此编译版本有一个默认构造函数

答案 1 :(得分:2)

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

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

所以你的课程就像:

class ABC {

    public ABC() {

    }
}