Java 警告隐藏字段的规则

Java rule that warns on hiding fields

Java 允许 hiding fields

a field that has the same name as a field in the superclass hides the superclass's field

但这不是最佳实践

we don't recommend hiding fields as it makes code difficult to read.

在IDE或静态工具中是否有可以警告隐藏字段的规则?

我目前使用 VS 代码

我们希望避免错误设置子字段和错误获取父字段的问题

public abstract class Parent {
   protected String a; 
   public abstract String test();
}
public class Child extends Parent {
   protected String a; 
    @Override
    public String test() {
        return null;
    }
}

在 Intellij IDEA 中:

Settings -> Editor -> Inspections -> Java -> Visibility -> Field name hides field in superclass

Eclipse 和 IntelliJ 都允许您在隐藏字段时配置警告甚至错误。不幸的是,两者都不能在我的平板电脑上运行,因此您必须自己查找详细信息。

顺便说一下,我相信 NetBeans 也有类似的东西。


对于 Eclipse,您可以查看“Preferences>Java>Compiler>Errors>Field declaration hides another field or variable”。