接口和抽象类的区别

  1. 设计层次不同

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

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

  1. 语法方面的不同

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

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

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

  1. 接口中不允许有静态方法块,抽象类中可以有静态代码块。
相关推荐
isysc114 分钟前
面了一个校招生,竟然说我是老古董
java·后端·面试
道可到4 小时前
Java 反射现代实践速查表(JDK 11+/17+)
java
侃侃_天下4 小时前
最终的信号类
开发语言·c++·算法
道可到4 小时前
Java 反射现代实践指南(JDK 11+ / 17+ 适用)
java
玉衡子4 小时前
九、MySQL配置参数优化总结
java·mysql
叽哥4 小时前
Kotlin学习第 8 课:Kotlin 进阶特性:简化代码与提升效率
android·java·kotlin
麦兜*4 小时前
MongoDB Atlas 云数据库实战:从零搭建全球多节点集群
java·数据库·spring boot·mongodb·spring·spring cloud
带刺的坐椅4 小时前
DamiBus v1.1.0 发布(给单体多模块解耦)
java·事件总线·damibus
葡萄城技术团队4 小时前
用 Java 构建健壮 REST API 的 4 个关键技巧
java
杨杨杨大侠4 小时前
解密 atlas-mapper 框架 (9/10):故障排查与调试技巧
java·开源·github