接口和抽象类的区别

  1. 设计层次不同

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

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

  1. 语法方面的不同

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

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

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

  1. 接口中不允许有静态方法块,抽象类中可以有静态代码块。
相关推荐
23.4 分钟前
【Java】NIO零拷贝:为何transferTo需要循环调用?
java·面试·nio
I_LPL8 分钟前
day48 代码随想录算法训练营 图论专题1
java·算法·深度优先·图论·广度优先·求职面试
架构师沉默9 分钟前
如果 Spring 没了,Java 会怎么样?
java·后端·架构
不会写DN11 分钟前
Go 语言并发编程的 “工具箱”
开发语言·后端·golang
叶宇燚18 分钟前
Java整理--数据结构篇
java·开发语言·数据结构
晚枫歌F24 分钟前
btree B树实现key-value存储
开发语言·数据结构
foundbug99927 分钟前
多智能体三维编队飞行控制MATLAB实现
开发语言·matlab
炸膛坦客29 分钟前
单片机/C语言八股:(七)C 程序运行时内存布局的动态变化
c语言·开发语言
吴声子夜歌30 分钟前
小程序——界面API(一)
java·javascript·小程序
予枫的编程笔记34 分钟前
【面试专栏|Java并发编程】从Runnable到Callable,Java4种线程创建方式
java·多线程·thread·java面试·runnable·callable·java线程