1、多态的体现
父类的引用指向自己的子类对象
父类的引用也可以可以接受自己的子类对象
左父 右子
2、多态的前提
必须是父类与子类之间有关系,要么继承要么实现
通常还有一个前提是存在覆盖
3、多态的好处
多太多的出现大大提高了程序的扩展性
4、都太的弊端:
只能使用父类引用只能访问父子中的成员
想要调用子类的特有方法是需要强制将父类引用类型转换成子类类型 (向下转换);
cat c=new (cat) a;
5、
Animal a=new Animal();
cat c=(cat) a;
不能出现这样的操作,就是将父类的对象转换成子类对象
我们只能转换的是父类应用指向自己的子类对象是该应用可以被提升,也可以强制装换
多态自始至终都是子类的对象再做着变化
8、多态调用的三种格式
* A:多态的定义格式:
* 就是父类的引用变量指向子类对象
父类类型 变量名 = new 子类类型();
变量名.方法名();
* B: 普通类多态定义的格式
父类 变量名 = new 子类();
* C: 抽象类多态定义格式
抽象类 变量名 = new 抽象类子类();
* D: 接口多态定义的格式
接口 变量名 = new 接口实现类();
7、instanceof关键字
* A: 作用 可以通过instanceof关键字来判断某个对象是否属于某种数据类型。
使用instanceof 方法
多态 运行看右边 编译的看左边