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 多态的优点

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

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


版权声明:本文为qq_55692568原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。