eclipse中的冗余超级界面警告

时间:2012-10-18 10:53:01

标签: java eclipse

为什么这个构造会在Eclipse中生成错误/警告?我理解它会生成什么报告,但我想必须有一些基本原理,如果你拼出那些冗余的超级接口,会出现什么问题。

示例:

interface I1{
    void boo();
}


class A implements I1 {
    public void boo() {}
}


class B extends A implements I1 {
    public void boo() {}
}

警告在B中,靠近实施I1

2 个答案:

答案 0 :(得分:3)

如果课程A实施I1而课程B延伸A,则进行成像。默认情况下B实现I1,即使它不需要在I1中实现任何方法。如果A要更改为实施I2B仍会进行编译。

但是,如果B显式implements I1但未提供方法,则此更改将导致B不再编译。

当然,我忽略了可能假设B实现B的{​​{1}}用户的问题。让我们假设这不是问题。

答案 1 :(得分:3)

这只是一个警告,我猜它有两个原因:

  • 它是多余的,因此可以删除。你拥有的噪音越少越好。但这是一个风格问题
  • 它告诉您不需要在B中实现任何接口方法,因为它们已经在A中实现。因此实现接口方法不仅会实现接口,还会覆盖默认实现在超类中。