Java入门2.3---面向对象的特征(多态性)
若编译时类型和运行时类型不一致,就出现多态(Polymorphism)。
一、多态性是什么?
多态性,可以理解为一个事物的多种表现形态。
- 方法的重载与重写;
- 子类对象的多态性---直接应用在抽象类和接口上。
二、子类对象的多态性使用的前提
- 要有类的继承;
- 要有子类对父类方法的重写。
三、程序运行分为编译状态和运行状态
对于多态性来说:
- 编译时,“看左边”,将此引用变量理解为父类的类型;
- 运行时,“看右边”,关注于真正对象的实体,子类的对象。那么执行的方法就是子类重写的。
格式:对象a instanceof 类A,判断对象a是否是类A的一个实例,是的话返回true,否则返回false。
若a是A类的实例,那么a也一定是A类的父类的实例。
多态的好处:
四、类的属性无多态性
子类对象的多态性,并不适用于属性。