IntelliJ - 如何让它警告我静态成员的隐式访问?

时间:2017-05-15 14:01:38

标签: java intellij-idea configuration static warnings

当我尝试访问类的静态成员而不在其前键入类名时,如何配置IntelliJ以向我发出警告?

public class Car
{
    static int lastIDgiven = 0
    private int id;
    public Car()
    {
        id = lastIDgiven;
        incrementLastID();
    }
    static void incrementLastID()
    {
        lastIDgiven ++;
    }
}

在这个例子中,我希望IntelliJ警告我" id = lastIDgiven;",并建议我将其更改为" id = Car.lastIDgiven"。与" incrementLastID()"相同 - 我希望它建议" Car.incrementLastID()"。当我输入" lastIDgiven ++"时,内部incrementLastID()相同。 (即使它在静态方法中)。

IntelliJ有很多设置,特别是对于检查,但我找不到这个特定的设置 - 只有通过实例参考"访问静态成员"检查,与某些事情有关,例如" someCar.lastIDgiven"。

我希望IntelliJ警告我这个特殊的行为,因为当用这种方式调用时,字段/方法是静态的并不是很明显,我喜欢让程序警告我有关混淆代码的信息。

那么,是否有设置选项?

1 个答案:

答案 0 :(得分:1)

是的,IntelliJ IDEA对此进行了检查,它被称为不合格的静态访问

Unqualified static access

  

报告不合格的静态方法调用或字段访问   使用静态方法的类名。如果静态,这是合法的   方法或字段与调用属于同一类,但可能是   混乱。