Inspectopedia Help

Static field referenced via subclass

Reports accesses to static fields where the call is qualified by a subclass of the declaring class, rather than by the declaring class itself.

Java allows such qualification, but such accesses may indicate a subtle confusion of inheritance and overriding.

Example:

class Parent { static int foo = 0; } class Child extends Parent { } void bar() { System.out.println(Child.foo); }

After the quick-fix is applied, the result looks like this:

class Parent { static int foo = 0; } class Child extends Parent { } void bar() { System.out.println(Parent.foo); }

Inspection Details

By default bundled with:

IntelliJ IDEA 2024.1, Qodana for JVM 2024.1,

Can be installed with plugin:

Java, 241.16690

Last modified: 29 April 2024