これは static メンバーが同じクラス内にある場合は有効ですが、混乱を招く可能性があります。
例:
class Foo {
static void foo() {}
static int x;
void bar() {
foo();
System.out.println(x);
}
static void baz() { foo(); }
}
クイックフィックス適用後:
class Foo {
static void foo() {}
static int x;
void bar() {
Foo.foo();
System.out.println(Foo.x);
}
static void baz() { Foo.foo(); }
}
次の項目を報告するかどうかを切り替えるには、インスペクションの設定を使用します。
static フィールドのアクセス
void bar() { System.out.println(x); }
static メソッドの呼び出し
void bar() { foo(); }
static void baz() { foo(); }
また、非 static コンテキストにある static メンバーの使用箇所のみを報告するようにインスペクションを構成することもできます。
上記の例では、static void baz() { foo(); } は報告されません。