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.

Table 8-1. Java modifiers
ModifierClassInterfaceConstructorMethodData member

Access modifiers

package-private

Yes

Yes

Yes

Yes

Yes

private

No

No

Yes

Yes

Yes

protected

No

No

Yes

Yes

Yes

public

Yes

Yes

Yes

Yes

Yes

Other modifiers

abstract

Yes

Yes

No

Yes

No

final

Yes

No

No

Yes

Yes

native

No

No

No

Yes

No

strictfp

Yes

Yes

No

Yes

No

static

No

No

No

Yes

Yes

synchronized

No

No

No

Yes

No

transient

No

No

No

No

Yes

volatile

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.

Table 8-2. Access modifiers and their visibility
ModifierVisibility

package-private

The default package-private limits access from within the package.

private

The private method is accessible from within its class.

The private data member is accessible from within its class. It can be indirectly accessed through methods (i.e., getter and setter methods).

protected

The protected method is accessible from within ...

Get Java 8 Pocket Guide now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.