What are Javas access modifiers?
private, default/package/friendly, protected, and public; each being a subset of the following, i.e. the access modifiers are not orthogonal (protected access includes package access). Private fields and methods are only accessible by the implementing class itself, default/package/friendly (no keyword) by all code in the package, protected additionally by derived classes’ code, and public generally.