多态

为什么使用
使用方法重载构建方法存在频繁修改代码,代码可扩展性,可维护性差,这事可以使用多态优化设计。
同一种事物,由于条件不同,产生的结果也不同 例如:打印机
多态:同一个引用类型,使用不同的实例而执行不同操作(父类引用,子类对象)

如何实现多态?
1.使用继承
2.子类重写父类的方法
3.父类引用子

多态的优点:
1.可替换性。多态对已存在的代码具有可替换性。
2.可扩充性。多态对代码具有可扩充性。增加新的子类不影响已存在类的多态性、继承性,以及其他特性的运行和操作。实际上新加子类更容易获得多态功能。
3.接口性。多态是超类通过方法签名,向子类提供了一个共同接口,由子类来完善或者覆盖它而实现的。
4.灵活性。它在应用中体现了灵活多样的操作,提高了使用效率。
5.简化性。多态简化了对应用软件的代码编写和修改过程,尤其在处理大量对象的运算和操作时,这个特点尤为突出和重要。值得注意的是,多态并不能够解决提高执行速度的问题,因为它基于动态装载和地址引用,或动态绑定。

引用类型转换
向上转型
父类引用子类
可见性:子类重写父类的方法
应用: 多态
向下转型
强制类型转换,父类转换子类
应用:类型的还原
instanceof
判断一个对象是否属于一个类或者实现了一个接口
强制类型转换之前通过i nstanceof 运算符检查对象的真实类型,可以避免类型转换的异常,从而提高了代码的健壮性
//在强转前先判断类型
if(f instanceof C2){
//可能出现类型转换错误
((C2)f).t2();
}else{
System.out.println("该类型不是c2类型");
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值