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 | |
---|---|
Available in: | IntelliJ IDEA 2023.3, Qodana for JVM 2023.3 |
Plugin: | Java, 233.SNAPSHOT |
Last modified: 13 July 2023