我的问题是,如果通过扩展已经实现它的类隐式实现的接口应该由类显式实现,如果类想要通告该事实,则它满足该接口的约定.
例如,如果要编写一个类,那就完成了接口的约定java.util.List
.您实现了这个,扩展了java.util.AbstractList
已经实现接口的类List
.你明确声明,你实现了List吗?
public class MyList extends AbstractList implements List
或者你是否通过隐式方式保存输入?
public class MyList extends AbstractList
哪种方式被认为是更好的风格?你有什么理由喜欢这种或那种方式?在哪种情况下你更喜欢方式1或方式2?
避免冗余.使用方法2.
使用@Override进行覆盖.
这不是一个"风格"的问题.如果要扩展已实现List的AbstractList,则不需要显式实现List.
这不仅仅是一个保存打字的问题.由于额外的"工具列表"是多余的,有人可能会花一些时间试图找出它存在的原因.你本质上是在写一个已经成为语言一部分的保证.