实现接口并扩展实现相同接口的类?

时间:2015-12-10 15:24:02

标签: java interface

实现接口并扩展实现相同接口的类会导致任何问题吗? (混淆除外)

例如:

interface IDo
public abstract class DoIt implements IDo
public class IllDo extends DoIt implements IDo

(请忽略它似乎错了)

1 个答案:

答案 0 :(得分:7)

扩展类时,继承其整个接口,包括它实现的任何接口或它派生的类。因此,任何扩展DoIt 的类都会实现IDo,因为它正在扩展实现它的类。您可以在声明中放置implements子句,但它对该类没有任何进一步的影响。但是,可以有理由这样做,正如this question的答案中所述:它记录了您专门用于实现接口的类,并且意味着如果超类被修改为不再包含{{ 1}}子句,子类要么中断(因为它缺少接口所需要的东西),要么保留其原始契约。