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

接口和抽象类的区别?

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

接口

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

抽象类

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

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

相关推荐
Seven971 分钟前
剑指offer-19、顺时针打印矩阵
java
SimonKing2 分钟前
PostMan不香了,IDEA因为Apipost插件这一功能轻松取代
java·后端·程序员
oioihoii4 分钟前
CRT调试堆检测:从原理到实战的资源泄漏排查指南
开发语言·前端·c++·c
一只小风华~18 分钟前
BOM Cookie操作详解
开发语言·前端·javascript
whhhhhhhhhw19 分钟前
Go语言常量
开发语言·后端·golang
max50060031 分钟前
复现论文《A Fiber Bragg Grating Sensor System for Train Axle Counting》
开发语言·python·深度学习·机器学习·matlab·transformer·机器翻译
二闹32 分钟前
面试必杀技:如何把“秒杀系统”讲得明明白白?
后端·面试
李剑一33 分钟前
面试官:后端一次性返回给前端十万条数据,渲染这十万条数据怎么能保证不卡顿
前端·面试
小高00734 分钟前
⚡前端底层四连击:Event Loop → 渲染帧 → GC → AST,一篇打通任督二脉
前端·javascript·面试
_杨瀚博36 分钟前
Maven 构建知识库
java·后端