如果 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(); } }
使用检查设置来切换以下各项的报告:
静态字段访问
void bar() { System.out.println(x); }
对静态方法的调用
void bar() { foo(); }
static void baz() { foo(); }
您还可以将检查配置为仅报告来自非 static 上下文的 static 成员用法。
在上面的示例中,不会报告 static void baz() { foo(); }
。