考慮 -爲什麼帶arg的構造函數undefine defualt的構造函數?
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像public 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)
是誰?