class SuperClass {
private int n;
/*
SuperClass() {
System.out.println("SuperClass()");
}
*/
SuperClass(int n) {
System.out.println("SuperClass(" + n + ")");
this.n = n;
}
}
class SubClass extends SuperClass {
private int n;
SubClass(int n) {
//super();
System.out.println("SubClass(" + n + ")");
this.n = n;
}
SubClass() {
super(300);
System.out.println("SubClass()");
}
}
public class TestSuperSub {
public static void main(String arg[]) {
SubClass sc1 = new SubClass();
//SubClass sc2 = new SubClass(400);
}
}
在执行main的第一句 SubClass sc1 = new SubClass();时,应该调用的是
SubClass() {
super(300);
System.out.println("SubClass()");
}
这个构造方法,此方法内有个super(300);应该调用的是父类的重载的第二个方法
SuperClass(int n) {
System.out.println("SuperClass(" + n + ")");
this.n = n;
}
为什么,我注释了 父类的第一个方法,它就不能运行了?我感觉没有用到父类的第一个方法啊! //SubClass sc2 = new SubClass(400); 这个是main的第二句,我注释了,没执行,所以跟这句没关系!求老师或者大师解答下!谢谢……
小唯快跑啊
一只萌萌小番薯
相关分类