Java学习·第七篇

一、多态

1.定义

多态是同一个行为具有多个不同表现形式或形态的能力。

多态就是同一个接口,使用不同的实例而执行不同操作,如图所示:

 

2.多态的优点

  • 1. 消除类型之间的耦合关系
  • 2. 可替换性
  • 3. 可扩充性
  • 4. 接口性
  • 5. 灵活性
  • 6. 简化性

3.多态存在的三个必要条件

  • 继承
  • 重写
  • 父类引用指向子类对象:Parent p = new Child();
class Shape {
    void draw() {}
}
  
class Circle extends Shape {
    void draw() {
        System.out.println("Circle.draw()");
    }
}
  
class Square extends Shape {
    void draw() {
        System.out.println("Square.draw()");
    }
}
  
class Triangle extends Shape {
    void draw() {
        System.out.println("Triangle.draw()");
    }
}

首先,定义了一个名为Shape的基类,它有一个名为draw的方法。这个方法在Shape类中没有具体的实现。

然后,定义了三个继承自Shape的子类:CircleSquareTriangle。每个子类都重写了draw方法,提供了自己的实现。例如,Circle类的draw方法会打印出"Circle.draw()"。

4.接口的多态

  • 一个类可以实现多个接口,一个接口引用可以指向实现该接口的任何对象。
  • 接口本身不能实例化,但可以用来声明引用类型,该引用类型可以指向任何实现了接口的类的对象。
  • 接口实现多态的核心在于定义一组行为(方法),由不同的类以不同的方式实现这些行为。

5.注意事项

  • 使用多态时,只能调用引用类型中存在的方法,即使实际对象可能拥有更多的方法。
  • 强制类型转换可以将一个接口的引用转换为实现类的类型,但前提是对象本身就是该类型或者该类型的子类型。

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值