從讀一本書重載的構造函數,我累了下面的代碼後:重載構造
public class Employee {
String name;
int idNumber;
public Employee(){
this("JJ", 0);
System.out.println(name +" "+ idNumber);
}
public Employee(String name, int num){
this.name = name;
idNumber = num;
System.out.println(name +" 2nd "+ idNumber);
}
}
public class Object1 {
public static void main(String[] args) {
Employee emp = new Employee();
}
}
OUTPUT:
JJ 2nd 0
JJ 0
我真的很困惑。爲什麼「JJ 2nd 0」先打印出「JJ 0」?我創建了一個employee對象emp,並沒有傳入參數中的任何參數,是不是假設先調用第一個構造函數?
或許,如果人們使用的調試器(HTTP:/ /www.vogella.com/tutorials/EclipseDebugging/article.html)更多,這不會是一個問題。 – Qix
@Qix謝謝。從來沒有聽說過調試器,但我沒有谷歌它,我現在要學習如何使用它。 – OPK
我剛剛意識到,您已經提出了一些問題,但尚未接受任何答案。接受一些,如果他們真的有用,可能是一個好主意,既是一種說「謝謝」的方式,也是向未來的用戶表明看問題的答案最能回答問題。 –