接口和抽象类的区别

  1. 设计层次不同

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

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

  1. 语法方面的不同

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

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

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

  1. 接口中不允许有静态方法块,抽象类中可以有静态代码块。
相关推荐
有梦想的小何几秒前
从0到1搭建可靠消息链路:RocketMQ重试 + Redis幂等实战
java·redis·bootstrap·rocketmq
_下雨天.3 分钟前
Python 网络编程
开发语言·网络·python
大数据新鸟4 分钟前
HashMap、Hashtable、ConcurrentHashMap 核心对比
java
小樱花的樱花5 分钟前
打造高效记事本:UI设计到功能实现
开发语言·c++·qt·ui
MX_935917 分钟前
Spring MVC拦截器
java·后端·spring·mvc
橘子编程21 分钟前
MindOS:你的AI第二大脑知识库
java·开发语言·人工智能·计算机网络·ai
XWalnut23 分钟前
LeetCode刷题 day9
java·算法·leetcode
忧郁的Mr.Li25 分钟前
JAVA工具类---PDF电子签章工具类
java·pdf
aini_lovee27 分钟前
C# 快速搜索磁盘文件解决方案
开发语言·c#
小陈工27 分钟前
2026年4月8日技术资讯洞察:边缘AI推理框架竞争白热化,Python后端开发者的机遇与挑战
开发语言·数据库·人工智能·python·微服务·回归