默认构造函数
构造函数的默认是它们没有任何参数。如果你未指定任何构造函数,编译器将为你生成默认构造函数。
这意味着以下两个片段在语义上是等效的:
public class TestClass {
private String test;
}
public class TestClass {
private String test;
public TestClass() {
}
}
默认构造函数的可见性与类的可见性相同。因此,一个类定义的包私有地具有包私有默认构造函数
但是,如果你有非默认构造函数,编译器将不会为你生成默认构造函数。所以这些不等同于:
public class TestClass {
private String test;
public TestClass(String arg) {
}
}
public class TestClass {
private String test;
public TestClass() {
}
public TestClass(String arg) {
}
}
请注意,生成的构造函数不执行非标准初始化。这意味着你的类的所有字段都将具有其默认值,除非它们具有初始值设定项。
public class TestClass {
private String testData;
public TestClass() {
testData = "Test"
}
}
构造函数的调用方式如下:
TestClass testClass = new TestClass();