多态
多态
什么是多态
同一种方法,根据发送对象不同,而采取不同的行为方式。
存在条件
1.类之间有继承关系;
2.子类重写了父类方法;
3***.父类的引用指向子类对象。
"is-a"规则
另一种表述是替换原则。程序中出现超类对象的任何地方都可以使用子类对象替换
——Java核心技术 卷1,p162
注:
对象的向上转型:(Animal表示父类,Cat 表示子类)
Animal animal = new Cat();
等号右侧创立的子类对象可以把他它当作父类来看待使用。
对象的向下转型:a
Cat cat = (Cat) animal;Cat
将父类对象还原成子类对象。
instanceof 预算符,用于判断 前面的对象 是否是后面 实现类 的实例。例如
animal instanceof Cat ;