Modifier | Used on | Meaning |
abstract | class interface method |
Contains unimplemented methods and cannot be instantiated. All interfaces are abstract. Optional in declarations No body, only signature. The enclosing class is abstract |
final |
class method field variable |
Cannot be subclassed Cannot be overridden and dynamically looked up Cannot change its value. static final fields are compile-time constants. Cannot change its value. |
native |
method | Platform-dependent.
No body, only signature |
none(package) |
class interface member |
Accessible only in its package Accessible only in its package Accessible only in its package |
private |
member |
Accessible only in its class(which defins it). |
protected |
member |
Accessible only within its package and its subclasses |
public |
class interface member |
Accessible anywhere Accessible anywhere Accessible anywhere its class is. |
strictfp |
class method |
All methods in the class are implicitly strictfp. All floating-point computation done is strictly conforms to the IEEE 754 standard. All values including intermediate results must be expressed as IEEE float or double values. It is rarely used. |
static |
class method field initializer |
Make an inner class top-level class A class method, invoked through the class name. A class field, invoked through the class name one instance, regardless of class instances created. Run when the class is loaded, rather than when an instance is created. |
synchronized |
method |
For a static method, a lock for the class is acquired before executing the method. For a non-static method, a lock for the specific object instance is acquired. |
transient |
field |
Not be serialized with the object, used with object serializations. |
volatile |
field |
Accessible by unsynchronized threads, very rarely used. |
Modifier | Class | Variable | Method | Constructor | Free-Floating Block |
public | yes | yes | yes | yes | no |
protected | no | yes | yes | yes | no |
none or package or default | yes | yes | yes | yes | yes |
private | no | yes | yes | yes | no |
final | yes | yes | yes | no | no |
abstract | yes | no | yes | no | no |
static | no | yes | yes | no | yes |
native | no | no | yes | no | no |
transient | no | yes | no | no | no |
volatile | no | yes | no | no | no |
synchronized | no | no | yes | no | yes |
strictfp | yes | no | yes | yes | no |