Java Reference
In-Depth Information
Chapter 8. Classes
Class declarations define new reference types and describe how they are implemented
A
top level class
is a class that is not a nested class.
A
nested class
is any class whose declaration occurs within the body of another class or in-
terface.
(§
15.9.5
)
). Details that are specific to particular kinds of classes are discussed in the sections
dedicated to these constructs.
completely implemented; such a class cannot be instantiated, but can be extended by sub-
a class is declared
public
, then it can be referred to from other packages. Each class except
variables whose bindings may differ among different instances of the class.
Classes may be decorated with annotations (§
9.7
) just like any other kind of declaration.
The body of a class declares members (fields and methods and nested classes and interfaces),
method, member class, member interface, and constructor declarations may include the ac-
cess modifiers (§
6.6
)
public
,
protected
, or
private
. The members of a class include both declared
and inherited members (§
8.2
). Newly declared fields can hide fields declared in a superclass
or superinterface. Newly declared class members and interface members can hide class or
interface members declared in a superclass or superinterface. Newly declared methods can
hide, implement, or override methods declared in a superclass or superinterface.
Field declarations (§
8.3
) describe class variables, which are incarnated once, and instance
variables, which are freshly incarnated for each instance of the class. A field may be declared
final
(§
8.3.1.2
), in which case it can be assigned to only once. Any field declaration may in-
clude an initializer.