Chapter 8. Classes 8.1. Class Declarations 8.1.1. Class Modifiers8.1.1.1. abstract Classes8.1.1.2. final Classes8.1.1.3. strictfp Classes8.1.2. Generic Classes and Type Parameters8.1.3. Inner Classes and Enclosing Instances8.1.4. Superclasses and Subclasses8.1.5. Superinterfaces8.1.6. Class Body and Member Declarations8.2. Class Members8.3. Field Declarations8.3.1. Field Modifiers8.3.1.1. static Fields8.3.1.2. final Fields8.3.1.3. transient Fields8.3.1.4. volatile Fields8.3.2. Field Initialization8.3.3. Forward References During Field Initialization8.4. Method Declarations8.4.1. Formal Parameters8.4.2. Method Signature8.4.3. Method Modifiers8.4.3.1. abstract Methods8.4.3.2. static Methods8.4.3.3. final Methods8.4.3.4. native Methods8.4.3.5. strictfp Methods8.4.3.6. synchronized Methods8.4.4. Generic Methods8.4.5. Method Result8.4.6. Method Throws8.4.7. Method Body8.4.8. Inheritance, Overriding, and Hiding8.4.8.1. Overriding (by Instance Methods)8.4.8.2. Hiding (by Class Methods)8.4.8.3. Requirements in Overriding and Hiding8.4.8.4. Inheriting Methods with Override-Equivalent Signatures8.4.9. Overloading8.5. Member Type Declarations8.5.1. Static Member Type Declarations8.6. Instance Initializers8.7. Static Initializers8.8. Constructor Declarations8.8.1. Formal Parameters8.8.2. Constructor Signature8.8.3. Constructor Modifiers8.8.4. Generic Constructors8.8.5. Constructor Throws8.8.6. The Type of a Constructor8.8.7. Constructor Body8.8.7.1. Explicit Constructor Invocations8.8.8. Constructor Overloading8.8.9. Default Constructor8.8.10. Preventing Instantiation of a Class8.9. Enum Types8.9.1. Enum Constants8.9.2. Enum Body Declarations8.9.3. Enum Members