超类调用方法求解
Java code
class A{
A(int a){
me();
//...
}
//...
public void me(){//...}
}
class B extends A{
B(int a){
super(a);
}
public void me(){//...}
}
如果实例化B
B b=new B(10);
这时为什么调用的会是B中的me方法?求解
------解决方案--------------------因为重写了
------解决方案--------------------
------解决方案--------------------可以理解为就近原则 先看自己有没有 没有了再去找老子的
------解决方案--------------------子类重写父类方法,子类对象调用的就是子类重写的方法了。
看基础书,上面都有讲。
------解决方案--------------------重写,并且函数没重载