文章目录

  • 一、接口和抽象类的区别(方式一)
  • 二、接口和抽象类的区别(方式二)
  • 总结

这里我写了两种回答方式,可以各取所需。


一、接口和抽象类的区别(方式一)

  1. 抽象类可以存在普通成员函数,而接口只能存在public obstract
  2. 抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是public static final 类型
  3. 抽象类只能继承一个(extends),接口可以实现多个(implements)。

二、接口和抽象类的区别(方式二)

  1. 接口设计的目的,是对类的行为进行约束,也就是提供一种机制,可以强制要求不同的类具有相同的行为。它只约束了行为的有无,但不对如何实现行为进行限制。
  2. 抽象类设计的目的,是代码复用。当不同的类具有某些相同的行为时,且其中一部分的实现方式一致。可以将这些类都派生一个抽象类(更像是整理出来一个工具箱,需要什么从这里边拿)。在这个抽象类实现了功能,避免让所有的子类来实现,这就达到了代码复用的目的

tips: 抽象类不允许实例化


总结

抽象类的功能要远远超过接口,但是相对来说代价比较高,因为每个类只能继承一个类,而接口可以实现多个。如果权衡,还得看各位怎么用。

精通Java 面试 07题 接口和抽象类的区别 (持续更新中)相关推荐

  1. ③【Java 组】蓝桥杯省赛真题 [黄金连分数][马虎的算式]持续更新中...

    个人简介:Java领域新星创作者:阿里云技术博主.星级博主.专家博主:正在Java学习的路上摸爬滚打,记录学习的过程~ 个人主页:.29.的博客 学习社区:进去逛一逛~ 蓝桥杯真题--持续更新中... ...

  2. Java全栈体系路线(总结不易,持续更新中)

    文章目录 Java全栈工程师 <font color=orange>Java基础 基础语法 面向对象 工具类 集合框架 序列化 反射机制 注解 文件处理 设计模式 视频教程 文档教程 练习 ...

  3. Java spark中的各种范型接口Function的区别(持续更新中)

    表格来自[2] Class Function Type Function<T, R> T => R DoubleFunction<T> T => Double Pa ...

  4. 史上最全Hashmap面试总结,51道附带答案,持续更新中...

    点击上方关注 "终端研发部" 设为"星标",和你一起掌握更多数据库知识 我历经两个工作日晚上总结了50道关于hashmap的面试题,我相信,下面将会是Hashm ...

  5. 安卓开发者中心!那些BAT大厂的Android面试官到底在想些什么?持续更新中

    最近很多人说,Android越来越不好找工作了,学习NDK开发会不会好点,今天就聊聊这个问题.是否应该选择学NDK? 1.哪些场景下要用到NDK开发? 跨平台的库,如FFmpeg, skip,weex ...

  6. Java架构师教你如何突破瓶颈,持续更新中

    1.上下文切换 上下文定义 cpu发生进程或者线程切换时,所依赖的数据集合,比如一个函数有外部变量,函数运行时,必须获取外部变量,这些变量值的集合就是上下文. 引发问题 对于CPU密集型任务,多线程处 ...

  7. CF刷题笔记之思维切入篇--持续更新中

    1.一般的数学题以及推公式的题目,都可以从比较小的点切入,从n=1逐层扩大推导,寻找符合题意的某些性质,然后从特殊到一般,将这种性质用代码的思维描述出来,从而进行求解,即可较快的找到题目的切入点.例如 ...

  8. 接口自动化测试面试题(持续更新中)

    1.接口自动化框架搭建 Python+pytest+requests+openpyxl+pymysql+logure+allure+jenkins 分为common层 testcases层 testd ...

  9. C++ 笔面试知识点大全 附超详细解析 【持续更新中】 (校招/实习/大厂/笔试/面试)

    目录 关键字 auto decltype const static extern explicit volatile inline Lambda表达式 顶层const和底层const 类型转换 多态, ...

最新文章

  1. 样例问题 Example question for A4M33MPV course
  2. git 连接gitee时报错 Auth error: Access deined: authorize failure
  3. 面试精讲之面试考点及大厂真题 - 分布式专栏 19 系统中的降级熔断设计
  4. 从事web前端两年半后的迷茫
  5. mybatis plugins_[Mybatis]-[基础支持层]-插件-多个插件执行顺序
  6. 操作系统定义、功能、特征、分类介绍
  7. phpstrom查看代码总行数_程序员实用工具,推荐一款代码统计神器GitStats
  8. 使用JAVA调用MATLAB算法程序方式——使用复杂算例进行完整说明,包括参数传递
  9. Matlab中tic和toc用法
  10. 普渡大学计算机科学竞争激烈,Top12普渡大学计算机博士全奖录取:同时收获Top博士和藤校耶鲁硕士录取!她该怎么选择?...
  11. ios 纯代码怎么适配ipad_关于ios 适配ihone 和 ipad方式
  12. 使用Python读取raw格式图像并显示
  13. 老男孩老师的博客地址
  14. FinalShell密码找回
  15. 面试关于网络的那些事
  16. vue+海康威视视频插件坑点记录
  17. 工具及方法 - 斗地主技巧
  18. 全能终端神器mobaxterm入坑指南
  19. Rosalind第七题:孟德尔第一定律
  20. Q2新财报,腾讯音乐寻找下一程

热门文章

  1. 【51单片机】串口通信
  2. 打造个人品牌的十大项目
  3. 二维平面上点与线段关系的判定
  4. js 平面判断点在面内
  5. linux下用c语言编写99乘法表,C语言输出九九乘法表(5种解法)
  6. 2023年1月12日,openKylin 0.9.5正式发布!
  7. springboot入门书籍_2019版JavaEE学习路线图(内含大纲+视频+工具+书籍+面试)
  8. 使用Oracle VM VirtualBox完成Linux环境搭建openEuler
  9. txt文档操作(导出和导入)【工具包系列】
  10. css+html实现倒三角