方法覆盖:
1.方法覆盖又被称为方法重写,英语单词 override
2.什么时候使用方法重写?
当父类中的方法已经无法满足当前字类的业务需求。
子类必须将父类继承过来的方法重新编写
这个重新编写的过程称为方法覆盖
3.什么条件满足之后方法会发生覆盖?【代码满足什么条件之后,就构成方法覆盖呢?】
-方法覆盖发生在具有继承关系的父类子类之间
-方法名相同,形参类型相同,返回值类型相同
-访问限权不能更低,可以更高
-超出异常不能更多,只能更少
4.尽量复制粘贴
5.注意:
私有方法不能继承,所以不能覆盖
构造方法不能继承,所以不能覆盖
静态方法不存在覆盖
覆盖只针对方法,不含属性。
/*
* 动物类
*/
public class Animal {
public void move(){
System.out.println("动物会动!");
}
}
public class Cat extends Animal {
public void move(){
System.out.println("猫在走猫步");
}
}
public class Bird extends Animal {
public void move(){
System.out.println("鸟在叫~!");
}
}
public class YingWu extends Bird {
//快捷方法重写: Source + Override
public void move() {
System.out.println("鹦鹉不会飞1");
}
}
public class OverrideTest0 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Animal a = new Animal();
a.move();
Cat c = new Cat(); //字类在调用的时候一定是重新之后的方法
c.move();
Bird b = new Bird();
b.move();
YingWu y =new YingWu();
y.move();
}
}