接口和抽象类的区别

  1. 设计层次不同

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

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

  1. 语法方面的不同

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

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

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

  1. 接口中不允许有静态方法块,抽象类中可以有静态代码块。
相关推荐
凸头4 分钟前
AI 流式聊天接口实现(WebFlux+SSE)
java·人工智能
简宸~4 分钟前
VS Code + LaTex + SumatraPDF联合使用指南
java·vscode·latex·sumatrapdf
弦有三种苦难14 分钟前
CCF-202412-T3缓存模拟90分
java·开发语言·spring
会编程的土豆17 分钟前
【数据结构与算法】 二叉树做题
开发语言·数据结构·c++·算法
青槿吖20 分钟前
SpringMVC通关秘籍(下):日期转换器、拦截器与文件上传的奇幻冒险
java·开发语言·数据库·sql·mybatis·状态模式
wangjialelele20 分钟前
C++11、C++14、C++17、C++20新特性解析(一)
linux·c语言·开发语言·c++·c++20·visual studio
weixin_4563216426 分钟前
Java架构设计:Redis AOF持久化深度解析(原理+实战+避坑)
java·开发语言·redis
leaves falling28 分钟前
数据结构-堆学习
java·数据结构·学习
阿蒙Amon30 分钟前
C#常用类库-详解YamlDotNet
开发语言·c#
Java水解32 分钟前
Java 中实现多租户架构:数据隔离策略与实践指南
java·后端