Chapter 8. Java Modifiers
Modifiers, which are Java keywords, may be applied to classes, interfaces, constructors, methods, and data members.
Table 8-1 lists the Java modifiers and their applicability. Note that private and protected classes are allowed, but only as inner or nested classes. Reference Chapter 21 for accessibility details relative to Java 9.
| Modifier | Class | Interface | Constructor | Method | Data member |
|---|---|---|---|---|---|
Access modifiers |
|||||
package-private |
Yes |
Yes |
Yes |
Yes |
Yes |
|
No |
No |
Yes |
Yes |
Yes |
|
No |
No |
Yes |
Yes |
Yes |
|
Yes |
Yes |
Yes |
Yes |
Yes |
Other modifiers |
|||||
|
Yes |
Yes |
No |
Yes |
No |
|
Yes |
No |
No |
Yes |
Yes |
|
No |
No |
No |
Yes |
No |
|
Yes |
Yes |
No |
Yes |
No |
|
No |
No |
No |
Yes |
Yes |
|
No |
No |
No |
Yes |
No |
|
No |
No |
No |
No |
Yes |
|
No |
No |
No |
No |
Yes |
Inner classes may also use the private or protected access modifiers. Local variables may only use one modifier: final.
Access Modifiers
Access modifiers define the access privileges of classes, interfaces, constructors, methods, and data members. Access modifiers consist of public, private, and protected. If no modifier is present, the default access of package-private is used.
Table 8-2 provides details on visibility when access modifiers are used.
| Modifier | Visibility |
|---|---|
package-private |
The default package-private limits access from within the package. |
|
The |