java – 从基类继承的接口是否应在子类中明确实现?

我的问题是,如果通过扩展已经实现它的类来隐式实现的接口,应该由类显式实现,如果类想要宣传该事实,则它满足该接口的合同.

例如,如果你想编写一个类,那么这就符合java.util.List接口的合同.您实现这一点,扩展了已经实现接口List的类java.util.AbstractList.您是否明确声明,您实现列表?

public class MyList extends AbstractList implements List

还是使用隐式方式保存打字?

public class MyList extends AbstractList

哪种方式被认为是更好的风格?你有什么理由偏爱某种方式?在哪种情况下,您更喜欢方式1或方式2?

我问 this same question long ago on my blog.如果你有兴趣看其他人的想法,那里还有很长的一段时间的讨论.有趣的是,这两种策略都是在JDK中进行的.

我最终决定,对此的一个艰难的规定是没有道理的 – 最好用最好的判断来表达我想要沟通的内容.

相关文章
相关标签/搜索