JAVA第九课:Java多态详解

一、多态的含义

  在面向对象的程序设计语言中,多态是继数据抽象和继承之后的第三种基本特征。
  多态通过分离做什么和怎么做,从另一个角度将接口和实现分离开。多态不但能够改善代码的组织结构和可读性,还能够创建可扩展的程序——即无论在项目最初创建时还是在需要添加新功能时都可以“生长”的程序。多态的作用时消除类型之间的耦合关系。它允许将多种类型(从同一基类导出的)视为同一类型来处理,而同一份代码也就可以毫无差别地运行在这些不同类型之上了。多态方法调用允许一种类型表现出与其它相似类型之间的区别,只要它们都是从同一类导出来的。这种区别是根据方法行为的不同而表示出来的,虽然这些方法都不可以通过同一个基类来调用。
  Java引用变量有两个类型:一个是编译时类型,它由声明该变量时使用的类型决定。另一个是运行时类型,它由实际赋给该变量的对象决定。如果编译时类型和运行时类型不一致,就可以认为是多态出现了。

二、多态的优点

  使用多态,我们可以很好的完成代码的解耦和工作,加强代码的可扩展性,使代码更加灵活,在不改变原有接口方法的情况下简化流程等,总结一下就是:

  • 可复用性:
    我们在写程序的时候,不必要为每一个子类都创建一个相同的方法或功能,我们只需要对抽象父类进行处理即可。
  • 提高扩展性和可维护性:
    子类的功能可以被父类的方法或引用变量所调用。

从代码看,我们可以省去很多很多重载的方法。

三、实现多态的条件

  • 继承
  • 重写
  • 父类引用指向子类对象:如:Parent p = new Child();
    以上三个必要条件需同时满足,当使用多态的方式去调用方法时,首先必须检查父类中是否有该方法,如果没有,则编译错误;如果有,再去调用子类的同名方法。

格式:父类 变量名 = new 子类
变量名.方法名()

public class Dad {
   
    void method() {
   
        System.out.println("我是父亲");
    }
}

class Son extends Dad {
   
    @Override
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值