接口和抽象类的区别

  1. 设计层次不同

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

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

  1. 语法方面的不同

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

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

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

  1. 接口中不允许有静态方法块,抽象类中可以有静态代码块。
相关推荐
火山灿火山1 分钟前
Qt信号和槽
开发语言·qt
赴前尘4 分钟前
docker 配置ipv6地址
java·docker·容器
开开心心就好5 分钟前
图片批量压缩工具:支持有损无损两种模式
java·游戏·pdf·excel·散列表·启发式算法·1024程序员节
Overt0p6 分钟前
博客系统(2)
java
这样の我7 分钟前
java 模拟chrome tls指纹
java·开发语言·chrome
w1wi8 分钟前
【环境部署】MacOS安装Tomcat
java·macos·tomcat
m0_661279189 分钟前
学习笔记-安装并启动 Jupyter Noteboo
开发语言·python
代码or搬砖9 分钟前
常见的五个编译时异常和常见的五个编译时异常
开发语言·php
路边草随风9 分钟前
java 实现 flink 读 kafka 写 paimon
java·大数据·flink·kafka
张np10 分钟前
java基础-LinkedList(链表)
java