从读一本书重载的构造函数,我累了下面的代码后:重载构造
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
我刚刚意识到,您已经提出了一些问题,但尚未接受任何答案。接受一些,如果他们真的有用,可能是一个好主意,既是一种说“谢谢”的方式,也是向未来的用户表明看问题的答案最能回答问题。 –