接口和抽象类的区别

  1. 设计层次不同

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

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

  1. 语法方面的不同

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

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

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

  1. 接口中不允许有静态方法块,抽象类中可以有静态代码块。
相关推荐
工程师老罗4 小时前
Image(图像)的用法
java·前端·javascript
leo_messi944 小时前
2026版商城项目(一)
java·elasticsearch·k8s·springcloud
globaldomain4 小时前
什么是用于长距离高速传输的TCP窗口扩展?
开发语言·网络·php
美味蛋炒饭.4 小时前
Tomcat 超详细入门教程(安装 + 目录 + 配置 + 部署 + 排错)
java·tomcat
沈阳信息学奥赛培训4 小时前
#undef 指令 (C/C++)
c语言·开发语言·c++
2401_873204654 小时前
分布式系统安全通信
开发语言·c++·算法
dreamxian4 小时前
苍穹外卖day11
java·spring boot·后端·spring·mybatis
Veggie265 小时前
【Java深度学习】PyTorch On Java 系列课程 第八章 17 :模型评估【AI Infra 3.0】[PyTorch Java 硕士研一课程]
java·人工智能·深度学习
weisian1515 小时前
Java并发编程--19-ThreadPoolExecutor七参数详解:拒绝Executors,手动掌控线程池
java·线程池·threadpool·七大参数
csdn5659738505 小时前
Java打包时,本地仓库有jar 包,Maven打包却还去远程拉取
java·maven·jar