Back to Intellij Community

StaticFieldReferenceOnSubclass

java/java-impl/resources/inspectionDescriptions/StaticFieldReferenceOnSubclass.html

2025.3-rc-2614 B
Original Source

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);
  }