Java:多态
概述
- 多态: 是指同一行为,具有多个不同表现形式。
格式
父类类型 变量名 = new 子类对象;
变量名.方法名();
注意:使用多态方式调用方法时,首先检查父类中是否有该方法,如果没有,则编译错误;如果有,执行的是子类重写后方法。(我之前还以为是父类的方法....)
//父类
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("吃骨头");
}
}
//执行
public class Test {
public static void main(String[] args) {
// 多态形式,创建对象
Animal a1 = new Cat();
// 调用的是 Cat 的 eat
a1.eat();
// 多态形式,创建对象
Animal a2 = new Dog();
// 调用的是 Dog 的 eat
a2.eat();
}
}