接口和抽象类的区别

  1. 设计层次不同

抽象类是对一个类的属性和行为进行抽象,是自下而上的设计,从多个类中抽取共性。

接口是一些行为进行抽象,是自上而下的设计,实现了接口的类拥有对应的行为。

  1. 语法方面的不同

1)接口的成员方法默认为 public abstract,(jdk 8 之后才有 static 和 default 方法),抽象类的方法可以有具体实现

2)接口的成员变量默认是 public static final 的,而 抽象类的成员变量 可以是各种修饰符修饰的

3)一个类不可以继承多个抽象类,但可以实现多个接口。

  1. 接口中不允许有静态方法块,抽象类中可以有静态代码块。
相关推荐
汝生淮南吾在北1 小时前
SpringBoot+Vue饭店点餐管理系统
java·vue.js·spring boot·毕业设计·毕设
fish_xk1 小时前
c++中的引用和数组
开发语言·c++
酒尘&4 小时前
JS数组不止Array!索引集合类全面解析
开发语言·前端·javascript·学习·js
冬夜戏雪4 小时前
【java学习日记】【2025.12.7】【7/60】
java·开发语言·学习
xwill*4 小时前
分词器(Tokenizer)-sentencepiece(把训练语料中的字符自动组合成一个最优的子词(subword)集合。)
开发语言·pytorch·python
CC.GG4 小时前
【C++】二叉搜索树
java·c++·redis
咖啡の猫5 小时前
Python列表的查询操作
开发语言·python
quikai19815 小时前
python练习第三组
开发语言·python
JIngJaneIL5 小时前
基于Java非遗传承文化管理系统(源码+数据库+文档)
java·开发语言·数据库·vue.js·spring boot
吃西瓜的年年6 小时前
1. 初识C语言
c语言·开发语言