关于java中多态知识点总结
Posted Dragoncl
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于java中多态知识点总结相关的知识,希望对你有一定的参考价值。
多态:
对应同一个指令(调用同一个方法),不同的对象给予不同的反应(不同的方法实现)
规范(多态实现的前提):
1、必须要有继承关系
2、子类方法必须重写父类的方法
3、父类引用指向子类对象
4、类可以进行转换,子类转换为父类可以自动进行类型转换(向上转换);父类转换为子类需要结合instanceof运算符进行强制类型转换(向下转换)
类的多态分为两类:
1、向上转型--隐式转型--自动转型 》父类指向子类实例,可以调用子类重写父类的方法以及父类派生的方法,但是无法调用子类独有的方法。
注意:父类中的静态方法无法被子类重写,所以向上转型后,只能调用到父类原有的静态方法
2、向下转型--强制类型转换》必须满足转型条件:instanceof运算符:返回true/false,返回true时就可以进行强制转换了,这时候才可以使用子类的所特有方法
public void feed(Animal obj){
if(obj instanceof Cat){
Cat temp = (Cat)obj;
temp.eat();
}else if(obj instanceof Dog){
Dog temo = (Dog)obj;
}
}
两种用法:
1 用父类作为方法的返回值
2 父类作为方法的参数(也可用父类作为类型创造新的子类对象)编写方法传入子类的父类,方法中通过类型转换
目的:
1、为了提高代码的扩展性和维护性
2、方便代码逻辑的编写
以上是关于关于java中多态知识点总结的主要内容,如果未能解决你的问题,请参考以下文章