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.
class Ball {
String color="red"; // Noncompliant
}
enum A {
B;
int a;
}
class Ball {
private String color="red"; // Compliant
}
enum A {
B;
private int a;
}
Members annotated with Guava's @VisibleForTesting annotation are ignored, as it indicates that visibility has been purposely relaxed
to make the code testable.
class Cone {
@VisibleForTesting
Logger logger; // Compliant
}