java中继承的问题
public class TestExtend extends Base {
public static void main(String[] args) {
Base b = new TestExtend();
b.amethod();
}
@Override
public void amethod() {
System.out.println("Driv..");
}
}
class Base {
Base() {
amethod();
}
public void amethod() {
System.out.println("Base ");
}
}
[解决办法]
Driv..
Driv..
据我理解,因为TestExtend继承了父类Base,覆写了amethod()方法
,所以子类的构造函数super()方法也覆写了父类构造函数里的amethod()方法
对象b是TestExtend类对象,在new的时候调用构造函数输出第一个Driv..
第二Driv..是TestExtend类实例的amethod方法
[解决办法]