Java Modifier Summary
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. |
All Possible Combinations of Features and Modifiers
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 |
No comments:
Post a Comment