java基础(多态)_03
一.多态
1.概念:一个对象的多种形态
2.前提:
a:必须有继承
b:必须有重写(只有重写才会有意义,没重写语法没错)
3.体现形式:
父类类型 变量名 = new 子类类型();
4.注意事项:
多态使用变量时,编译运行都看父类
多态调用方法时,便宜便宜看父类 运行看子类
5.多态的弊端:
多态只能调用子父类共有的方法,不能调用子类特有的方法
6.多态的好处:
提高程序的灵活性,扩展性,复用性
7.解决弊端方法:
向下转型:(强转) int a = (int)3.14;
Animal d=new Dog();
Dog dd=(Dog)d;
dd.lookhome();
向上转型:(就是多态) double a =4;
Animal a=new Dog();
8.向下转型的弊端:
把父类的变量转为子类类型的时候,编译直接通过
9.java中解决向下编译弊端的方法
一个关键字instanceof
作用:判断某一变量是否时该类类型
格式:
booblean b= d instanceof 类名
10.instanceof也有弊端:
比如,变量较多时,使用instanceof就是使代码产生冗余。。。。。
11.案例(绝色佳人)