多态
多态是Java面向对象的四大特征之一
定义
是指同⼀⾏为,具有多个不同表现形式 。多态,顾名思义,表示一个对象具有多种的状态。具体表现为父类的引用指向子类的实例。
前提
-
继承或者实现【⼆选⼀】
-
⽅法的重写【意义体现:不重写,⽆意义】
-
⽗类引⽤指向⼦类对象【格式体现】
实现
格式
⽗类类型 变量名 = new ⼦类对象;
变量名.⽅法名();
如:
Fu f = new Zi();
f.method();
当使⽤多态⽅式调⽤⽅法时,⾸先检查⽗类中是否有该⽅法,如果没有,则编译错误;如果有,执行的是⼦类重写后⽅法。
父类:
public abstract class Animal {
public abstract void eat();
}
子类:
class Cat extends Animal {
public void eat() {
System.out.println("吃⻥");
}
}
class Dog extends Animal {
public void eat() {
System.out.println("吃⻣头");
}
}
测试类: