浅谈多态

浅谈多态

现在有猪,狗,猫,三个对象它们都有叫的能力(方法)它们都是动物这个基类的导出类。现在让它们使用叫的能力(调用方法)。会产生不同的叫声。java允许不同类的对象对同一消息做出不同的行为,即同一消息可以根据对象类型的不同而采取多种不同的行为方式, 实现多态的技术被称为动态绑定,也称后期绑定。当然这些类必须是同一个类的导出类,或实现同一个接口。或者在同一个类中实现方法重载。多态的实现大致有这三种方式。

多态存在的条件

第一:要有继承;
第二:要有方法重写;
第三:父类的引用指向子类对象;

对基类的导出类进行方法重写实现多态:

class Shape{
public void draw(){
System.out.println();
}}

public class Circle extends Shape{
public void draw(){
System.out.println(“画一个圆”);
}
public static void main(String args[]){
Shape s=new Circle();
s.draw();
}}
/*output
画一个圆
*///
当调用draw()方法时编译器正确的调用了Circle.draw()方法。

通过接口实现多态:

interface Usb{
public void chongdian();
public void chuanshu();
}
class Vivo implements Usb{
public void chongdian(){
System.out.println(“给手机充电”);
}
public void chuanshu(){
System.out.println(“传输文件”);
}
public static void main(String args[]){
Usb usb=new Vivo();
usb.chongdian();
usb.chuanshu();
}
}
/*output
给手机充电
传输文件
*/
注意实现接口时必须要重写接口中的所有方法。

为什么要用多态以及多态的好处

封装可以隐藏实现细节,使得代码模块化。继承可以扩展已存在的模块。它们的目的都是为了代码复用。多态除了代码复用外,还可以消除类型之间的耦合关系。
用多态的好处,应用程序不必为每一个派生类编写功能调用,只需对抽象基类进行处理即可,大大提高了程序的可复用性。
派生类的功能可以被基类的方法或引用变量所调用,这叫向后兼容,可以提高可扩充性和可维护性。

注意点

1.私有方法不能被多态,所以要想实现多态,子类应该重写基类的public方法

2.域不能像方法那样多态

3.static方法也不能实现多态

4.尽量避免在基类构造方法中调用多态方法,如果调用了,多态会起作用,会调用子类中此方法,而此时子类还未初始化。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值