subclass 父 class shadowed/hidden 中的私有字段 - 检查以捕获它
Private field in parent class shadowed/hidden by subclass - inspections to catch it
我刚刚破解了一个棘手的错误,结果证明是以下情况的结果:
class Parent {
private Object field;
public Object getField() {
return field;
}
public void setField(Object field) {
this.field = field;
}
}
class Child extends Parent {
}
class GrandChild extends Child {
private Object field;
public Object getField() {
return field;
}
}
现在我完全意识到这是一种难闻的气味。我花了几天时间才找到。我正在寻找的是一种检查,它可能会突出显示代码中其他地方的这种情况或类似情况。 Eclipse 或 IntelliJ 或 CheckStyle 或 Findbugs 或任何东西都可以。
本质上,我想找到 private
隐藏父 private
字段的字段。
这是 eclipse.oxygen
中的特定编译器警告
受到 Robert post 的启发,我在 IntelliJ 中找到了它:
我刚刚破解了一个棘手的错误,结果证明是以下情况的结果:
class Parent {
private Object field;
public Object getField() {
return field;
}
public void setField(Object field) {
this.field = field;
}
}
class Child extends Parent {
}
class GrandChild extends Child {
private Object field;
public Object getField() {
return field;
}
}
现在我完全意识到这是一种难闻的气味。我花了几天时间才找到。我正在寻找的是一种检查,它可能会突出显示代码中其他地方的这种情况或类似情况。 Eclipse 或 IntelliJ 或 CheckStyle 或 Findbugs 或任何东西都可以。
本质上,我想找到 private
隐藏父 private
字段的字段。
这是 eclipse.oxygen
中的特定编译器警告
受到 Robert post 的启发,我在 IntelliJ 中找到了它: