1、方法重写概述
子类中出现了和父类中一模一样的方法声明(方法名,参数列表,返回值类型),也被称为方法覆盖,方法复写。可以说,子类对父类提供的方法功能不满意,在基础上想完善或者改变,这就需要方法重写。
2、方法重写注意事项
(1)父类中私有方法不能被重写
因为父类私有方法子类根本就无法继承
(2)子类重写父类方法时,访问权限不能更低最好就一致,
(3)父类静态方法,子类也必须通过静态方法进行重写
其实这个算不上方法重写,但是现象确实如此,至于为什么算不上方法重写,多态中我会讲解
3、猫狗案例继承版
public class Animals {
public void eat(){
System.out.println("吃饭");
}
}
public class AnimalsUtils {
public static void test(Animals animals){
animals.eat();
}
}
public class Cat extends Animals {
public void eat(){
System.out.println("猫吃鱼");
}
}
public class Dog extends Animals {
public void eat(){
System.out.println("狗吃骨头");
}
}
public class Mytest2 {
public static void main(String[] args) {
Cat cat = new Cat();
AnimalsUtils.test(cat);
Dog dog = new Dog();
AnimalsUtils.test(dog);
}
}