多态:同一个引用类型,使用不同的实例而执行不同操作
使用多态实现:
- 编写父类
- 编写子类,子类重写父类方法
- 运行时,使用父类的类型,子类的对象
Pet pet = new Dog();
使用父类作为方法形参实现多态
public class Master {
//使用父类作为方法形参
public void feed( Pet pet ) {
pet.eat();
}
}
Main方法改变:
Pet pet = new Dog();
Master master = new Master();
master.feed( pet );//同一种操作方式,不同的操作对象
一旦使用多态,就要面对多个对象
Pet[] pets = new Pet[12];
pets[0] = new Penguin("QQ");
pets[1] = new Dog("小黑");
for (Pet pet : pets){
pet.eat();
}