With no modifier, the default is package visibility. From the Java Documentation, “[package visibility] indicates whether classes in the same package as the class (regardless of their parentage) have access to the member.” In this example from [javax.swing](<http://hg.openjdk.java.net/jdk8/jdk8/jdk/file/687fd7c7986d/src/share/classes/javax/swing>)
,
package javax.swing;
public abstract class JComponent extends Container … {
…
static boolean DEBUG_GRAPHICS_LOADED;
…
}
DebugGraphics
is in the same package, so DEBUG_GRAPHICS_LOADED
is accessible.
package javax.swing;
public class DebugGraphics extends Graphics {
…
static {
JComponent.DEBUG_GRAPHICS_LOADED = true;
}
…
}
This article gives some background on the topic.