为什么这个构造会在 Eclipse 中生成错误/警告?我理解它将生成报告的原因,但我想一定有一些理由,如果你拼出那些多余的超级接口,可能会出现什么问题。
例子:
interface I1{
void boo();
}
class A implements I1 {
public void boo() {}
}
class B extends A implements I1 {
public void boo() {}
}
警告在 B 中,靠近工具 I1。
A如果类实现I1和类B扩展,则成像A。默认情况下B实现I1,即使它不需要在I1. 如果A要更改为 implementation I2,B仍然会编译。
但是,如果B显式implements I1但不提供方法,则此更改将导致B不再编译。
当然,我忽略了用户B可能假设B实现I1. 对于这种情况,我们假设这不是问题。
这只是一个警告,我想它有两个原因: