Access control
The modifiers in the class head control how other classes can access this one:
- public -- May be used by code outside the class package
- private -- this class can only be used within current file
- friendly(i.e. empty ClassModifier) -- class can be used only within current package (directory)
- protected -- Only accessible to subclasses
These modifiers are also used for access control to the instance variables and methods.
There are other modifiers. For example, a static variable or method only has the same value for all instances of the class. A final variable cannot be assigned to (used for constants).