【发布时间】:2014-09-12 14:35:38
【问题描述】:
我有一个类,比如说 BImpl,它实现了 B 接口和 C 抽象类。两个超类都有一些方法,比如在抽象类 C 中实现的 doSomething()。
interface B
{
Some doSomething();
}
abstract class C
{
protected Some doSomething()
{
//Do something here...
}
}
我实现 BImpl 如下:
class BImpl extends C implemensts B
{
public Some doSomething()
{
super.doSomething()
}
}
所以我用 B 类型对象公开抽象类行为。在这种情况下,我得到 PMD(声纳)违规,说“重写方法仅调用超类中定义的相同方法”。 这对我来说完全不对,因为我暴露了其他父母的行为。我怎样才能避免这种情况?
【问题讨论】: