接口和抽象类的区别

  1. 设计层次不同

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

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

  1. 语法方面的不同

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

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

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

  1. 接口中不允许有静态方法块,抽象类中可以有静态代码块。
相关推荐
空空kkk3 分钟前
Java基础——代理
java·开发语言
赵谨言4 分钟前
基于YOLOv5的植物目标检测研究
大数据·开发语言·经验分享·python
野生技术架构师4 分钟前
互联网大厂必备 Java 面试八股文真题解析
java·开发语言·面试
Rsun045518 分钟前
synchronized关键字的底层实现
java
不光头强10 分钟前
IO流知识点
开发语言·python
老约家的可汗11 分钟前
C++篇之类和对象下
java·开发语言·c++
水月wwww12 分钟前
Rust的安装与卸载 | windows
开发语言·windows·rust
SouthRosefinch21 分钟前
一、HTML简介与开发环境
开发语言·前端·html
€81127 分钟前
Java入门级教程27——ActiveMQ的下载与应用
java·开发语言·activemq·点对点文本消息发送·点对点对象消息发送·mysql+redis·序列化对象消息传输
Irissgwe31 分钟前
C&C++内存管理
c语言·开发语言·c++·c++内存管理