接口继承不扩展方法的意义
在一个场景中,我们遇到如下代码:
interface a { void xx(); string yy(); } interface b extends a { }
登录后复制
对于 java 初学者来说,一个疑问油然而生:既然接口 b 继承了所有 a 的方法,在后续扩展中可以直接使用 a,那么创建 b 有什么意义?
其实,b 继承 a 不仅仅只是方法的继承,还意味着:
类型标记
b 的存在给出了一个类型标记。对于从 b 派生的类型,可以在类型过滤时派上用场。例如,我们可以编写代码:
List<A> listA = new ArrayList<>(); List<B> listB = new ArrayList<>(); if (listA instanceof List<B>) { // 类型转换安全 }
登录后复制
如果没有 b 接口,类型过滤将变得困难,因为 a 中的方法会在 list 和 list 中都可用。
通过引入 b 接口,我们可以用它来标记具体派生类型,以便在运行时更精确地进行类型检查和转换。
以上就是继承接口但不扩展方法的意义何在?的详细内容,更多请关注抖狐科技其它相关文章!
-
得物卖瑕疵怎么投诉商家
在得物平台购买瑕疵品,可通过以下步骤投诉商家:1. 首先联系客服描述瑕疵并提供证据;2. 平台介入处理,核实情况后做出决定(退货退款、部分退款、维持原判);3. 根据处理结果享受相应售后服务。如何在得...
-
新手必看:Win8系统安装教程U盘版,快速掌握重装技巧
如何在数码时代轻松安装windows 8?在科技飞速发展的今天,我们的电脑操作系统不断更新迭代,而windows 8作为微软的经典版本,凭借其流畅的用户体验,依然受到不少用户的青睐。对于很多初学者来说...
-
鸣潮卡卡罗阵容组队方案
想要在《鸣潮》中发挥卡卡罗的最佳战力,选择合适的阵容搭配至关重要。虽然卡卡罗是一名出色的忍术输出角色,但搭配合适的队友,可以进一步提升他的伤害和生存能力。本文由php小编子墨为您带来鸣潮卡卡罗的配队技...
-
手机如何打开u盘文件
可以使用第三方文件管理器或内置文件浏览器打开手机上的 u 盘文件:1. 使用第三方文件管理器:下载一个文件管理器应用程序,将 u 盘连接到手机的 otg 端口,在文件管理器中浏览并打开 u 盘中的文件...
-
Win11粘滞键开启方法
如何开启 windows 11 中的粘滞键?windows 系统中的粘滞键功能允许用户逐个按下组合键,而不是同时按下。由于 windows 11 界面的重大变化,一些用户难以找到开启该功能的方法。ph...