继承接口但不扩展方法的意义何在?

2024-11-03 23:50:57 编辑:抖狐科技 来源:摘自互联网

继承接口但不扩展方法的意义何在?

接口继承不扩展方法的意义

在一个场景中,我们遇到如下代码:

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 接口,我们可以用它来标记具体派生类型,以便在运行时更精确地进行类型检查和转换。

以上就是继承接口但不扩展方法的意义何在?的详细内容,更多请关注抖狐科技其它相关文章!

本站文章均为抖狐网站建设摘自权威资料,书籍,或网络原创文章,如有版权纠纷或者违规问题,请即刻联系我们删除,我们欢迎您分享,引用和转载,我们谢绝直接复制和抄袭!感谢...
我们猜你喜欢