知识总结:
大家都知道,java中,子类是可以继承父类的方法,也可以自己进行“重写方法”。
问题:如果在子类自己调用一个同时在子类和父类中的方法,如何去判定子类调用的方法是继承于父类还是自己调用的呢?
事实上,如果子类自己已经有过方法重写,那么调用的是子类自己的方法例如下面:
子类:
package com.imooc.animal;
public class Dog extends Animal {
private String sex;
public Dog(){
}
public void sleep(){
eat();//调用子类本身的eat()
System.out.println(this.getName()+"现在"+this.getMonth()+"个月大,它正在睡觉!");
}
private String sleep(String name){
return "";
}
//子类重写父类吃东西方法
public void eat(){
System.out.println(this.getName()+"没有食欲!");
}
//子类方法重写父类带参数的吃东西方法,参数名改变
public void eat(String m