继承: 为了提高代码的复用性 延续+扩展
父类:子类的共性
子类就可以使用父类中的成员
多态:
- 在继承的基础之上及方法的重写,父类引用指向子类类型的对象,这就是多态的表现形式
- 父类引用只能使用父类中有的成员,子类单独有的内容无法使用,但是可以通过向下转型来操作
- 可以提高代码的复用性,便于后期维护
转型 cast
孔子装爹案例:
class 孔子爹{void teach(){作生意。。。}}
class 孔子 {void teach(){论语…} void play(){玩荣耀…}}
一天一个人来请孔子爹去授课,孔子爹外出了,孔子化化妆装成孔子爹样子去授课
向上转型--------化妆
孔子爹 k = new 孔子();
k.teach(); //讲的是论语 调用的是子类中重写方法
孔子和学生玩的很好 一起打游戏
向下转型 :为了使用子类独有的内容-----卸妆
小范围类型 变量 =(小范围类型)大范围类型的数据;//父类---->大范围 子类---->小范围
long 1=100;
int i=(int)1;
孔子 kk =(孔子)k;
kk.play();
向下转型可能会遇到异常:ClassCastException 类型转换异常
为了避免这个异常的出现,instanceof
引用 instanceof 类型 判断前面的引用是否是后面类型的对象|子类对象,如果是返回true,如果不是返回false
来源:51CTO
作者:乐乐的家长
链接:https://blog.csdn.net/GY_BO/article/details/100824177