Java基础面试,接口和抽象类的区别?

接口和抽象类的区别?

  • 抽象类可以存在普通成员函数,而接口中只能存在public abstract 方法。
  • 抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是public static final类型的.
  • 抽象类只能继承一个,接口可以实现多个。

接口

接口的设计目的是为了对类的行为进行约束,只进行约束,但是不对如何实现进行限制
比如一个Person的接口有打招呼的方法,小孩和大人的实现这个接口,但是打招呼的方法Person接口并没有对其进行限制

抽象类

抽象类是为了代码的复用
抽象类不能被直接实例化,而是需要被继承,由子类来提供具体实现。

抽象类包含抽象方法和非抽象方法。抽象方法是一种只有声明但没有实现的方法,它的实现由继承抽象类的子类来完成。非抽象方法则是在抽象类中已经实现了的方法,子类可以直接继承使用。

相关推荐
3***16101 分钟前
【JavaEE】Spring Boot 项目创建
java·spring boot·java-ee
6***v4174 分钟前
VScode 开发 Springboot 程序
java·spring boot·后端
t***31658 分钟前
SpringBoot中自定义Starter
java·spring boot·后端
橘子编程11 分钟前
经典排序算法全解析
java·算法·排序算法
z***33512 分钟前
SpringBoot获取bean的几种方式
java·spring boot·后端
wefg123 分钟前
【C++】IO流
开发语言·c++
aloha_78924 分钟前
联易融测开面试准备
java·python·面试·单元测试
s***469825 分钟前
【SpringBoot篇】详解Bean的管理(获取bean,bean的作用域,第三方bean)
java·spring boot·后端
"菠萝"31 分钟前
C#知识学习-020(访问关键字)
开发语言·学习·c#
hanxiaozhang201834 分钟前
消息队列面试重点-1
面试·消息队列