Java 抽象类和接口与多态

  1. 引入抽象类和接口的原因

    即"针对接口编程",关键就在多态,即向上转型

    当变量的的声明类型是超类型时,即抽象类或者接口,这样,只要是具体实现此超类型的类所产生的对象,都可以指定给这个变量,而不用分别为不同的对象声明不同的变量

  2. 抽象类和接口的不同

    接口,只能明确方法名,但是没有实现

    当已经明确了需要的超类型中的某个方法的实现时,就可以用抽象类,因为这样可以避免每个实现类的共同方法的冗余。(抽象类中可以有方法的实现)

    当需要的超类型中的所有方法的实现都不相同但是方法名完全相同时,可以用接口(接口的所有方法都要被实现类实现)。

    当需要多继承时,也要用到接口。

原文地址:https://www.cnblogs.com/thehappyyouth/p/3399401.html