实现接口并扩展实现相同接口的类会导致任何问题吗? (混淆除外)
例如:
interface IDo
public abstract class DoIt implements IDo
public class IllDo extends DoIt implements IDo
(请忽略它似乎错了)
答案 0 :(得分:7)
扩展类时,继承其整个接口,包括它实现的任何接口或它派生的类。因此,任何扩展DoIt
的类都会实现IDo
,因为它正在扩展实现它的类。您可以在声明中放置implements
子句,但它对该类没有任何进一步的影响。但是,可以有理由这样做,正如this question的答案中所述:它记录了您专门用于实现接口的类,并且意味着如果超类被修改为不再包含{{ 1}}子句,子类要么中断(因为它缺少接口所需要的东西),要么保留其原始契约。