== Why is this an issue?

In the interest of code clarity, ``++static++`` members of a ``++base++`` class should never be accessed using a derived type's name. Doing so is confusing and could create the illusion that two different static members exist.


=== Noncompliant code example

[source,java]
----
class Parent {
  public static int counter;
}

class Child extends Parent {
  public Child() {
    Child.counter++;  // Noncompliant
  }
}
----

=== Compliant solution

[source,java]
----
class Parent {
  public static int counter;
}

class Child extends Parent {
  public Child() {
    Parent.counter++;
  }
}
----

ifdef::env-github,rspecator-view[]

'''
== Implementation Specification
(visible only on this page)

=== Message

Use static access for "X.y".


'''
== Comments And Links
(visible only on this page)

include::../comments-and-links.adoc[]

endif::env-github,rspecator-view[]
