考虑 -
public class Class_A {
public void func() {...}
public void func(int a){...}
三个都 -
Class_A a = new Class_A(); // legal
a.func(); // legal
a.func(1); // legal
但是在将带有arg likepublic Class_A (int a){...}
的构造函数添加到Class_A
之后,默认构造函数变为-
Class_A a = new Class_A(); // The constructor Class_A() is undefined
那迫使我添加public Class_A() {/*Do Nothing*/}
到Class_A
.
既然每个类都有默认构造函数 ,为什么默认构造函数和带有 arg 的构造函数不能同时存在并且是相同 func()
的func(int a)
?