接口和抽象类的区别

  1. 设计层次不同

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

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

  1. 语法方面的不同

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

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

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

  1. 接口中不允许有静态方法块,抽象类中可以有静态代码块。
相关推荐
oort1231 分钟前
VLStream 全开源决策式 AI 视频平台 技术视角完整说明
大数据·开发语言·人工智能·经验分享·python·开源·音视频
Cloud_Shy6182 分钟前
解读《Effective Python 3rd Edition》:从练气到老魔(第二章 Item 10 - 12)
c语言·开发语言·网络·人工智能·windows·python·编辑器
BossFriday2 分钟前
【手撸IM】SycllaDB 消息存储基础
java·分布式·中间件
霸道流氓气质3 分钟前
导入历史跟踪机制实战指南
java·linux·服务器
Xeon_CC3 分钟前
vs2026远程开发debian12容器的C++程序笔记
开发语言·c++·笔记
日取其半万世不竭4 分钟前
Uptime Kuma 应该放哪台机器?
java·docker·容器·https
消失的旧时光-19434 分钟前
Kotlin 协程设计思想(四):launch、async、withContext 到底有什么区别?
java·kotlin·async·launch·withcontext·deferred
夜白宋5 分钟前
【Redis深入】二、高性能
java·前端·redis
空圆小生6 分钟前
Vue3 + Spring Boot 全栈实战:从零搭建在线彩票模拟系统
java·spring boot·后端
水无痕simon6 分钟前
9 C语言的基础练习
c语言·开发语言·算法