接口和抽象类的区别

  1. 设计层次不同

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

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

  1. 语法方面的不同

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

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

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

  1. 接口中不允许有静态方法块,抽象类中可以有静态代码块。
相关推荐
@Turbo@12 分钟前
【QT】在Qt6的`QTextEdit`中,同一行更新内容
开发语言·qt
showmeyourcode0.o15 分钟前
QT常用控件(1)
开发语言·c++·qt
快乐肚皮16 分钟前
MySQL集群模式详解:架构、优缺点与生产环境选型指南
java·mysql
不二狗22 分钟前
每日算法 -【Swift 算法】查找字符串数组中的最长公共前缀
开发语言·算法·swift
不二狗26 分钟前
每日算法 -【Swift 算法】将整数转换为罗马数字
开发语言·算法·swift
小黄人软件30 分钟前
C++ Visual Studio 2017厂商给的源码没有.sln文件 易兆微芯片下载工具加开机动画下载。
开发语言·c++·visual studio
季鸢32 分钟前
Java设计模式之备忘录模式详解
java·设计模式·备忘录模式
异常君33 分钟前
Java 逃逸分析:让你的代码性能飙升的秘密
java·面试·代码规范
迢迢星万里灬34 分钟前
Java求职者面试:Spring、Spring Boot、Spring MVC与MyBatis技术深度解析
java·spring boot·spring·面试·mybatis·spring mvc
天天摸鱼的java工程师35 分钟前
Nacos 2.0 + 为啥非要三个端口?一次踩坑实录
java·后端