Java默认构造函数
示例
构造函数的“默认”是它们没有任何参数。如果您未指定任何构造函数,则编译器将为您生成一个默认构造函数。
这意味着以下两个片段在语义上是等效的:
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();