日期:2014-05-20 浏览次数:21020 次
class First {
public First() {
aMethod();//接下面调用aMethod();被子类覆盖,所以打印in Second class;
}
public void aMethod(){
System.out.println("in First class");}
}
public class Second extends First {
public Second(){//默认有个空构造方法
super();//默认有个super();调用父类空构造方法。
}
public void aMethod(){
System.out.println("in Second class");}
public static void main(String[] args) {
new Second();
}
}
------解决方案--------------------
因为你在子类当中重写了啊Method方法
------解决方案--------------------
new Second( );时会首先调用父类的不带参数的构造方法,但Second中重写了aMethod方法,所以执行的是Second中的aMethod方法
------解决方案--------------------