Saturday, April 3, 2010

Java Modifier Summary

Java Modifier Summary


ModifierUsed onMeaning
abstractclass

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
methodPlatform-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.

Return to top


All Possible Combinations of Features and Modifiers

ModifierClassVariableMethodConstructorFree-Floating Block
publicyesyesyesyesno
protectednoyesyesyesno
none or package or defaultyesyesyesyesyes
privatenoyesyesyesno
finalyesyesyesnono
abstractyesnoyesnono
staticnoyesyesnoyes
nativenonoyesnono
transientnoyesnonono
volatilenoyesnonono
synchronizednonoyesnoyes
strictfpyesnoyesyesno

Return to top


No comments:

Post a Comment