Java面向对象三大特性-多态

1 多态概念

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

多态就是同一个借口,使用不同的实例而执行不同的操作。

多态性是对象多种表现形式的体现。

2 多态存在的三个必要条件

  • 继承
  • 重写
  • 父类引用指向子类对象:Animal a = new Dog();

使用多态方式调用属性和方法时,能调用所有父类的属性和方法,如果子类重写了父类的方法,则按照子类的方法内容执行,无法调用子类 单独存在的方法 和属性。

若将多态实例化对象(如上述a)强制转换为子类对象((Dog)a),则其可以调用子类的方法和属性。

3 多态的实现方式

  1. 重写

  2. 接口

public interface Person {

    int PERSION = 1;
    
    void person();

    default void defaultPerson(){
        System.out.println("defaultPerson");
    }
}
------------------------------------------
public class LiSi implements Person{

    int lisi = 2;

    @Override
    public void person() {
		System.out.println("LiSi")
    }
}
--------------------------------------------
public class Demo {

    public static void main(String[] args) {

        Person lisi = new LiSi();
        lisi.person();
        lisi.defaultPerson();

    }
}
//结果
----------------------------------------------
LiSi
defaultPerson
  1. 抽象类和抽象方法

4 多态的优点

  • 消除类型之间的耦合关系
  • 可替换性
  • 可扩充性
  • 接口性
  • 灵活性
  • 简化性

多态的好处:可以是程序有良好的扩展,并可以对所有类的对象进行通用处理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值