多态:
什么是多态
父类类型 对象名称=子类对象;
多态的前提
- 有继承关系
- 有父类引用指向子类对象
- 有方法重写
多态调用成员的特点
- 变量调用:编译看左边,运行也看左边
- 方法调用:编译看左边,运行看右边
多态的优势
- 在多态形势下,右边对象可以实现解耦合,便于扩展和维护
- 定义方法的时候,使用父类型作为参数,可以接收所有子类对象,体现多态的扩展性与便利
多态的弊端
- 不能调用子类的特有功能
引用数据类型的类型转换
自动类型转换:Person p=new Student();
强制类型转换;Student s=(Student)p;
强制类型转换能解决什么问题
- 可以转换成真正的子类类型,从而调用子类独有功能
- 转换类型与真实对象类型不一致
- 转换时用instanceof关键字进行判断