如果 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(); }
。