定义一个Java类时,如果没有显式定义一个不带参数的构造函数,则可以用不带参数的构造函数创建一个该类的实例:
public class A {
public static void main(String[] args) {
A a = new A(); // Correct
}
}
如果没有显式定义一个不带参数的构造函数但定义了一个带参数的构造函数,则不能再以不带参数的构造函数创建一个该类的实例:
public class A {
public A(String s) {
}
public static void main(String[] args) {
A a = new A(); // Incorrect
A a = new A("a"); //Correct
}
}