考虑 -为什么带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)
是谁?