Access modifiers determine the scope of a class, constructor, variable, method, or data member. Java provides four types of access modifiers to set access levels for classes, variables, methods, and constructors.
Accessible everywhere.
Accessible ONLY within the class.
Accessible within package & subclasses.
Accessible only within the package.
| Modifier | Class | Method | Instance Var | Static Var | Local Var |
|---|---|---|---|---|---|
| Public | |||||
| Private | |||||
| Protected | |||||
| Default |
| Access Location | Public | Protected | Default | Private |
|---|---|---|---|---|
| Same Class | ||||
| Same Package (Subclass) | ||||
| Same Package (Non-Subclass) | ||||
| Different Package (Subclass) | (Inheritance) | |||
| Different Package (Non-Subclass) |