学习博客:多态

#学习博客:多态
了解一个东西,要了解它干嘛用的。
多态:我们如果需要重复调用一个方法的时候,要一直重复调用方法过程很不方便,而且每创建一个新的对象,在没有学多态前,我们还得额外的写调用方法,要多次重写工具类,很不方便。所以就引入了多态

多态的前提
1:要有继承关系。.
2:要有方法重写,可以没,但是这就失去了多态的意义。
3:要有父类引用指向子类对象。
定义是 父类 f = new 子();

多态中的成员访问特点,左右表示父类和子类
A:成员变量,编译看左边,运行看左边。
B:构造方法,创建子类对象的时候。访问父类的构造方法。对父类的数据进行初始化。
C:成员方法,编译看左边,运行看右边。
D:静态方法,编译看左边,运行看左边。
(静态和类相关,算不上重写,所以,访问还是左边的)
由于成员方法存在方法重写,所以它运行看右边。
多态的实际应用:工具类可以使用多态来重复调用方法,

假设我有个Cat类和一个Dog类需要我调用他的eat和play方法,我用多态就可以在就算添加了新的Pig类的时候,也可以用AnimalToo调用它的方法,而不用再去写方法调用。
如:
class AnimalTool{
public static void useAnimal(Animal animal){
animal.eat();
animal.play();
}
多态弊端:不能使用子类特有功能,即父类没有的功能,子类有的。
解决办法:向下转型zi z = (Zi)f; 要求该f必须是能够转换为zi的。

由于都是学习而来的,所以可能会有点资料重复,侵删。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值