java接口和抽象类的区别

Java 数据赋 2年前 (2023-01-09) 415次浏览 已收录

java接口和抽象类的区别

接口和抽象类的区别主要体现在语法层面和设计层面上。(1)(2)
语法层面的区别有:
  • 抽象类可以提供成员方法的实现细节,而接口中只能声明方法(Java 8之前只能声明抽象方法,Java 8开始可以声明默认方法和静态方法)。
  • 抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是public static final类型。
  • 一个类只能继承一个抽象类,而一个类却可以实现多个接口。
设计层面的区别有:
  • 抽象类是对一种事务的抽象,包括属性、行为等。接口是对行为的抽象。如果一个类继承或实现了某个抽象类,那么一定是抽象类的种类。接口强调特定功能的实现,而抽象类强调所属关系。
  • 抽象类作为很多子类的父类,是一种模板式设计。而接口是一种规范,它是一种辐射式设计。对于抽象类,如果需要添加新的方法,可以直接在抽象类中添加,子类可以不用变更;而对于接口,如果接口进行了变更,那么实现它的类都需要做变更。

top8488大数据 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:java接口和抽象类的区别
喜欢 (0)
[]
分享 (0)