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

接口和抽象类的区别?

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

接口

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

抽象类

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

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

相关推荐
Pluchon3 分钟前
硅基计划4.0 算法 二叉树深搜(DFS)
java·数据结构·算法·leetcode·深度优先·剪枝
whm277720 分钟前
Visual Basic 参数传送-形参与实参
开发语言·visual studio
9号达人29 分钟前
if-else 优化的折中思考:不是消灭分支,而是控制风险
java·后端·面试
共享家952731 分钟前
QT-常用控件(多元素控件)
开发语言·前端·qt
幸运小圣32 分钟前
Iterator迭代器 【ES6】
开发语言·javascript·es6
葱头的故事33 分钟前
将传给后端的数据转换为以formData的类型传递
开发语言·前端·javascript
中微子44 分钟前
🚀 2025前端面试必考:手把手教你搞定自定义右键菜单,告别复制失败的尴尬
javascript·面试
jump6801 小时前
js中数组详解
前端·面试
不知道累,只知道类1 小时前
Java 在AWS上使用SDK凭证获取顺序
java·aws
咖啡Beans1 小时前
SpringBoot2.7集成Swagger3.0
java·swagger