java – 覆盖接口中的方法是有意义的

前端之家收集整理的这篇文章主要介绍了java – 覆盖接口中的方法是有意义的前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这个问题在这里已经有一个答案:> Why Java 6 overrides keySet(),entrySet() and values() interface in SortedMap1
我有一个接口A和B.一个(抽象的)方法叫做foo. B扩展了A.

即使使用@Override也可以覆盖接口B中的foo,但是有没有什么情况呢?没有什么可以重写,因为这两种方法必须是抽象的,没有任何身体.所以我想没有什么情况,这是有道理的,对吧?

那么为什么可以在界面中覆盖呢?

解决方法

一种情况是当您要更新Javadoc文档以反映子界面方法中更具体的合同,如 Collection#addAll(Collection)List#addAll(Collection)所示:

> Collection#addAll(Collection):

Adds all of the elements in the specified collection to this collection (optional operation)…

>列表#addAll(集合:

Appends all of the elements in the specified collection to the end of this list,in the order that they are returned by the specified collection’s iterator (optional operation)…

子接口还可以添加一个从Java 8开始的默认实现.

猜你在找的Java相关文章