实现多态的三大要素
1.继承关系的父类跟子类
2.子类重写父类的方法
3.父类的引用指向子类的对象
多态的类型
1.向上转型——子类到父类的转换:自动类型转换
语法:父类名 引用变量名=new 子类名
向上转型系统会自动进行类型转换
通过父类引用变量调用的方法是子类覆盖或继承的子类方法不是父类的方法
通过父类的引用变量无法调用子类特有的方法
2.向下转型——父类到子类的转换:强制类型转换
向下转型需用到向上转型的类型
子类型 引用变量名=(子类型)父类型的引用变量名
将一个指向子类对象的父类引用赋给一个子类的引用即将父类类型转换为子类类型称为向下转型
向下转型必须进行强制类型转换
将父类类型转换为它的某个子类类型后,才能调用其子类特有的属性
当初给父类实例化对象时候给出的类型在向下转型的时候需要相同子类
如果不相同的话会报错不兼容性的问题
instanceof运算符
跟等于号和String.equals()相同
用于判断相同子类
对象类型必须与instanceof参数后所指定的的类或接口上在继承树上具有上下级关系
否则会出现编译错误
多态的好处:可替换型,简化型,可扩充性,灵活性
面向对象三大特征之多态
最新推荐文章于 2024-08-16 23:08:28 发布