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

接口和抽象类的区别?

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

接口

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

抽象类

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

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

相关推荐
渣哥2 分钟前
使用 HashMap 提高性能的小技巧
java
breeze_whisper3 分钟前
当前端收到一个比梦想还大的数字:BigInt处理指南
前端·面试
小高0074 分钟前
性能优化零成本:只加3行代码,FCP从1.8s砍到1.2s
前端·javascript·面试
chao1898447 分钟前
基于MATLAB的线性判别分析(LDA)人脸识别实现
开发语言·matlab
kyle~9 分钟前
排序---快速排序(Quick Sort)
java·开发语言
刘梓谦21 分钟前
如何在Qt中使用周立功USB转CAN卡
开发语言·qt·zlg·周立功
今禾22 分钟前
深入浅出:ES6 Modules 与 CommonJS 的爱恨情仇
前端·javascript·面试
前端小白199522 分钟前
面试取经:Vue篇-Vue2响应式原理
前端·vue.js·面试
用户479492835691526 分钟前
每天都在用大模型,但是你知道temperature、top_p、top_k这些常见参数是做什么的吗?
人工智能·面试·llm
小蒜学长33 分钟前
旅行社旅游管理系统的设计与实现(代码+数据库+LW)
java·数据库·spring boot·后端·旅游