接口和抽象类之间的区别与联系

接口与抽象类的区别

  • 抽象类

    作用:降低接口实现类与接口之间的实现难度。

    1. 抽象类是不完全抽象的,里面的方法,可以是抽象的,也可以是非抽象的,但是抽象类的类名必须由abstract修饰。

      注意:由于被abstract修饰的成员必须要实现才有意义,而类中的属性不存在需要实现的情况,无论是基本数据类型还是引用数据类型的成员变量,他们在声明的时候就已经被赋予了默认的初始值。因此变量不能使用abstract去修饰。

    2. 类只支持单继承,因此一个类只能继承一个抽象类,抽象类被子类继承后,抽象方法必须重写。

    3. 抽象类在实现接口的时候,可以不重写接口中的抽象方法

    4. 抽象类中有构造方法,但是不能使用。

  • 接口:

    作用:功能封装,降低程序的耦合度

    1. 制定规则,降低耦合度

    2. 接口中的属性,默认是静态常量

    3. 接口中的方法都是抽象的,如果要定义具体实现方法,此方法需要使用defalut修饰,接口中的方法的访问权限不能使用private

    4. 接口支持多继承,多实现。即一个接口可以继承多个接口,一个类(包括非抽象类可以一次实现多个接口)--->总结:抽象类可以实现多个接口,接口可以继承多个接口。

    5. 接口中存在构造方法,因此接口不可以实例化

posted @ 2021-10-15 08:03  安妍  阅读(366)  评论(0)    收藏  举报