开场白

老铁 :接口、抽象类、类——三位英雄执剑走天涯,行侠仗义,被誉为“Java帝国三剑客”。三位英雄从来都不会争强好胜,而是相互协助,发挥各自优势,共同打造Java帝国的强安全性与高健壮性。

今天我们对三位英雄进行总结对比,一方面让老铁们对三位有一个全面的认识,另外一方面也供老铁在进行技术选型时做参考。今天全是干货,敲黑板时老铁们需格外留意。

特性比较

敲黑板

  1. 关键字:接口用interface;抽象类用abstract class;类用class。
  2. 定义:接口是一种契约,不带具体的实现;抽象类也是一种契约,带有部分实现;类是一种具体的实现,经常是某个接口或抽象类的实现。
  3. 使用时机:当你想要支持多重继承,或是为了定义一种类型请使用接口;当你打算提供带有部分实现的类请使用抽象类;当你打算提供完整的具体实现请使用类。
  4. 定义的内容:接口中只能包括public函数以及public static final常量;抽象类与类均无任何限制。
  5. 函数实现:接口不允许实现;抽象类允许部分实现;类要求完全实现。

区别

敲黑板

  1. 支持多重继承:接口支持;抽象类不支持;类不支持;
  2. 支持抽象函数:接口语义上支持;抽象类支持;类不支持;
  3. 允许函数实现:接口不允许;抽象类支持;类允许;
  4. 允许实例化:接口不允许;抽象类不允许;类允许;
  5. 允许部分函数实现:接口不允许;抽象类允许;类不允许。

老铁们知道以上内容后,需要把以上内容融合贯通并运用到实际的编程实践中,选择恰当的类型来表达我们所期待的接口与意图。此外,也基本就可以应付所有的关于上述三种联系与区别方面的技术面试了。

转载自公众号:代码荣耀

NO.16 沙场秋点兵:类vs抽象类vs接口 | Java敲黑板系列相关推荐

  1. 五十弦翻塞外声。沙场秋点兵

    醉里挑灯看剑,梦回吹角连营.八百里分麾下炙,五十弦翻塞外声.沙场秋点兵. 马作的卢飞快,弓如霹雳弦惊.了却君王天下事,赢得生前身后名.可怜白发生!     赏析此词以两个二.二.二的对句开头,通过具体 ...

  2. 读后感:沙场秋点兵---走出软件作坊:三五个人十来条枪 如何成为开发正规军(二十七)

    沙场秋点兵---走出软件作坊:三五个人十来条枪 如何成为开发正规军(二十七) http://blog.csdn.net/david_lv/archive/2008/07/02/2604704.aspx ...

  3. 计算机专业新生表演,沙场秋点兵 学子展风采 ——计算机专业部在2020级新生军训汇报表演中喜获佳绩...

    原标题:沙场秋点兵 学子展风采 --计算机专业部在2020级新生军训汇报表演中喜获佳绩 九月的天空秋高气爽,九月的大地硕果飘香.9月12日上午8:30,历时7天的2020级新生军训闭幕仪式暨军训汇报表 ...

  4. 关于类、抽象类和接口的继承关系

    关于类.抽象类和接口的继承关系 Java类的继承是单继承的,就是一个类只能继承一个类,但是可以通过接口来实现多继承,一个类可以实现多个接口.通过这种方式,Java类就可以实现多继承的关系.但是在继承类 ...

  5. 普通类,抽象类和接口之间的区别

    一.普通类.抽象类和接口区别: 1. 普通类可以实例化,接口都不能被实例化(它没有构造方法),抽象类如果要实例化,抽象类必须指向实现所有抽象方法的子类对象(抽象类可以直接实例化,直接重写自己的抽象方法 ...

  6. java9-1.类,抽象类,接口的综合小练习

    1 /* 2 教练和运动员案例(学生分析然后讲解) 3 乒乓球运动员和篮球运动员. 4 乒乓球教练和篮球教练. 5 为了出国交流,跟乒乓球相关的人员都需要学习英语. 6 请用所学知识: 7 分析,这个 ...

  7. 类、抽象类、接口之间的区别

    目录 1.类与抽象类的异同之处 (1)类和抽象类的区别 (2)类和抽象类的相同之处 2.接口与类的异同之处 (1)接口与类相似点 (2)接口与类的区别 (3)接口特性 3.抽象类和接口的区别 1.类与 ...

  8. java请编写公共类继承抽象类_(Java相关)怎么理解抽象类,继承和接口?

    著作权归作者所有. 商业转载请联系作者获得授权,非商业转载请注明出处. 作者:海子 来源:博客园 一.抽象类 在了解抽象类之前,先来了解一下抽象方法.抽象方法是一种特殊的方法:它只有声明,而没有具体的 ...

  9. java实体类实现抽象类_java接口、抽象类、实体类关系介绍

    接口:接口是一个引用类型,与类相似,不过在接口中只能包含常量,方法名和嵌套类型.没有构造器,所以不能被实例化只能被类所实现或者被另外的接口所继承.在接口中声明的方法没有方法体. 抽象类:将类层次中共有 ...

最新文章

  1. 报名开启!AI+科学计算专场直播:大咖齐聚×独家礼物,限量200份
  2. 我为什么fuck GFW同时FUCK 开心网
  3. 组件化与插件化的差别在哪里?附面试题答案
  4. 谷歌发布最新版安卓Android,谷歌发布安卓 9 正式版,代号 Android Pie
  5. Postgresql 远程连接配置
  6. chrome插件:提取页面数据
  7. openstack社区_OpenStack社区中发生了什么?
  8. 下载OneDrive共享的数据集
  9. Javascript中四种函数调用方式
  10. 制作并使用9-patch图像
  11. python写入excel表格数据绘制图表_(原创)xlsxwriter,python excel 写入数据\图表等操作_图表操作(二)...
  12. 将自己的主页地址设置为OpenID
  13. QTreeWidgetItem添加自定义数据
  14. Debian没有reboot命令
  15. hive修改分区信息
  16. Simulink之S-function函数笔记之二
  17. 板绘都有哪些优缺点?应该注意什么
  18. Python mechanize 的一点说明
  19. linux命令:查询某个字符串在哪个文件中存在,贼拉管用!
  20. QQ拼音直接提权WIN8

热门文章

  1. Java 关键字之abstract用法
  2. 莲雾文案:莲雾水果的文案,水果莲雾发圈文案
  3. 网站访问速度太慢-一招完美解决,小伙伴们赶快get起来吧
  4. 普乐蛙7d影院设备报价7d动感餐厅设备6d电影体验馆
  5. 2006年8月贵州行(黄果树 兴义万峰林与马岭
  6. NXP S32K144学习系列1----S32DS的安装
  7. YOLOV3中Darknet中cfg文件说明和理解
  8. 小评《加勒比海盗2》
  9. [USACO5.1]Starry Night
  10. 数学建模:相关性分析学习——皮尔逊(pearson)相关系数与斯皮尔曼(spearman)相关系数