Java 这些类中哪一个具有默认构造函数?

Java 这些类中哪一个具有默认构造函数?,java,constructor,default-constructor,Java,Constructor,Default Constructor,这些类中哪一个具有默认构造函数?我只是在想,但我错了吗 class A {} class B {B() {}} class C {C(int j) {}} 你说得对。根据定义,默认构造函数是在未定义构造函数时创建的。由于A没有定义构造函数,因此将为其创建默认构造函数 从技术上讲,您可以说B有一个默认构造函数,因为如果未定义任何构造函数,则将创建无参数构造函数 参考资料:准确无误 类A具有默认构造函数,因为您没有为该类提供任何构造函数。因此,编译器会自动提供一个无参数的默认构造函数。此默认构造函

这些类中哪一个具有默认构造函数?我只是在想,但我错了吗

class A {}
class B {B() {}}
class C {C(int j) {}}

你说得对。根据定义,默认构造函数是在未定义构造函数时创建的。由于
A
没有定义构造函数,因此将为其创建默认构造函数

从技术上讲,您可以说
B
有一个默认构造函数,因为如果未定义任何构造函数,则将创建无参数构造函数

参考资料:

准确无误


A
具有默认构造函数,因为您没有为该类提供任何构造函数。因此,编译器会自动提供一个无参数的默认构造函数。此默认构造函数将调用超类(在本例中为对象类)的无参数构造函数。第二个类,class
B
,提供了一个无参数构造函数,但它不是默认的,因为编译器没有为您提供它

你为什么这么想?可能的重复请你添加对“定义”的引用,可能会有帮助。添加了我在java文档中能找到的最接近的内容。请更新你的引用,以指向官方语言规范,而不是教程:@MWiesner Updated。谢谢你把它挖出来!