为什么这个构造会在Eclipse中生成错误/警告?我理解它会生成什么报告,但我想必须有一些基本原理,如果你拼出那些冗余的超级接口,会出现什么问题。
示例:
interface I1{
void boo();
}
class A implements I1 {
public void boo() {}
}
class B extends A implements I1 {
public void boo() {}
}
警告在B中,靠近实施I1 。
答案 0 :(得分:3)
如果课程A
实施I1
而课程B
延伸A
,则进行成像。默认情况下B
实现I1
,即使它不需要在I1
中实现任何方法。如果A
要更改为实施I2
,B
仍会进行编译。
但是,如果B
显式implements I1
但未提供方法,则此更改将导致B
不再编译。
当然,我忽略了可能假设B
实现B
的{{1}}用户的问题。让我们假设这不是问题。
答案 1 :(得分:3)
这只是一个警告,我猜它有两个原因: