Why is this an issue?

Failing to explicitly declare the visibility of a member variable could result it in having a visibility you don’t expect, and potentially leave it open to unexpected modification by other classes.

The default access level modifier may be intentional; in that case, this rule can report false positives.

Noncompliant code example

class Ball {
  String color = "red";  // Noncompliant
}
enum A {
  B;
  int a;  // Noncompliant
}

Compliant solution

class Ball {
  private String color = "red";  // Compliant
}
enum A {
  B;
  private int a;  // Compliant
}

Exceptions

class Cone {
  @VisibleForTesting
  Logger logger; // Compliant
}