多态
多态:是具有表现多种形态的能力的特征。
实现多态的三个必备条件:1.继承 2.要有重写 3.父类引用指向子类对象
实现多态的两种方式:1.使用父类作为方法形参实现多态 2.使用父类作为方法返回值实现多态
多态的好处:通过多态可以减少类中的代码量,可以提高代码的可扩展性和可维护性。
继承是多态的基础,没有继承就没有多态。
子类转换成父类的规则:
1> 将一个父类的引用指向一个子类对象,成为向上转型,自动类型转换。
2>此时通过父类引用变量调用的方法是子类覆盖或继承父类的方法,不是父类方法。
3>此时通过父类引用变量无法调用子类特有的方法。
把父类转换为子类称为向下转型,必须进行强制类型转换
向下转型后可以访问子类特有方法。必须转换为父类指向的真实子类类型,否则将出现类型转换异常ClassCastException.
instanceof运算符用于判断一个对象是否属于一个类或实现了一个接口。
instanceof运算符通常和强制类型转换结合使用,先通过instanceof进行类型判断,再进行相应的强制类型转换。