markdown test2.md

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了markdown test2.md相关的知识,希望对你有一定的参考价值。

<div id="logo" fo="http://www.w3.org/1999/XSL/Format"
rx="http://www.renderx.com/XSL/Extensions">

![Oracle Logo](../../../../webdesign/other/im/oralogo_small.gif)\
[Java SE](https://docs.oracle.com/javase/10/) &gt; [Java SE
Specifications](../../../index.html) &gt; [Java Language
Specification](index.html)

</div>

<div class="navheader">

The [Java]{.trademark}® Language Specification
 
 
 [Next](jls-1.html)

------------------------------------------------------------------------

</div>

<div class="book" lang="en" title="The Java® Language Specification">

<div class="titlepage">

<div>

Java SE 10 Edition

<div class="authorgroup">

<div class="author">

### James Gosling {#james-gosling .author}

</div>

<div class="author">

### Bill Joy {#bill-joy .author}

</div>

<div class="author">

### Guy Steele {#guy-steele .author}

</div>

<div class="author">

### Gilad Bracha {#gilad-bracha .author}

</div>

<div class="author">

### Alex Buckley {#alex-buckley .author}

</div>

<div class="author">

### Daniel Smith {#daniel-smith .author}

</div>

</div>

#### [2018-02-20\
]{.date} {#section fo="http://www.w3.org/1999/XSL/Format" rx="http://www.renderx.com/XSL/Extensions"}

[Legal Notice](spec-frontmatter.html)

</div>

------------------------------------------------------------------------

</div>

<div class="toc">

**Table of Contents**

[[1. Introduction](jls-1.html)]{.chapter}
[[1.1. Organization of the Specification](jls-1.html#jls-1.1)]{.section}
[[1.2. Example Programs](jls-1.html#jls-1.2)]{.section}
[[1.3. Notation](jls-1.html#jls-1.3)]{.section}
[[1.4. Relationship to Predefined Classes and
Interfaces](jls-1.html#jls-1.4)]{.section}
[[1.5. Feedback](jls-1.html#jls-1.5)]{.section}
[[1.6. References](jls-1.html#jls-1.6)]{.section}
[[2. Grammars](jls-2.html)]{.chapter}
[[2.1. Context-Free Grammars](jls-2.html#jls-2.1)]{.section}
[[2.2. The Lexical Grammar](jls-2.html#jls-2.2)]{.section}
[[2.3. The Syntactic Grammar](jls-2.html#jls-2.3)]{.section}
[[2.4. Grammar Notation](jls-2.html#jls-2.4)]{.section}
[[3. Lexical Structure](jls-3.html)]{.chapter}
[[3.1. Unicode](jls-3.html#jls-3.1)]{.section}
[[3.2. Lexical Translations](jls-3.html#jls-3.2)]{.section}
[[3.3. Unicode Escapes](jls-3.html#jls-3.3)]{.section}
[[3.4. Line Terminators](jls-3.html#jls-3.4)]{.section}
[[3.5. Input Elements and Tokens](jls-3.html#jls-3.5)]{.section}
[[3.6. White Space](jls-3.html#jls-3.6)]{.section}
[[3.7. Comments](jls-3.html#jls-3.7)]{.section}
[[3.8. Identifiers](jls-3.html#jls-3.8)]{.section}
[[3.9. Keywords](jls-3.html#jls-3.9)]{.section}
[[3.10. Literals](jls-3.html#jls-3.10)]{.section}
[[3.10.1. Integer Literals](jls-3.html#jls-3.10.1)]{.section}
[[3.10.2. Floating-Point Literals](jls-3.html#jls-3.10.2)]{.section}
[[3.10.3. Boolean Literals](jls-3.html#jls-3.10.3)]{.section}
[[3.10.4. Character Literals](jls-3.html#jls-3.10.4)]{.section}
[[3.10.5. String Literals](jls-3.html#jls-3.10.5)]{.section}
[[3.10.6. Escape Sequences for Character and String
Literals](jls-3.html#jls-3.10.6)]{.section}
[[3.10.7. The Null Literal](jls-3.html#jls-3.10.7)]{.section}
[[3.11. Separators](jls-3.html#jls-3.11)]{.section}
[[3.12. Operators](jls-3.html#jls-3.12)]{.section}
[[4. Types, Values, and Variables](jls-4.html)]{.chapter}
[[4.1. The Kinds of Types and Values](jls-4.html#jls-4.1)]{.section}
[[4.2. Primitive Types and Values](jls-4.html#jls-4.2)]{.section}
[[4.2.1. Integral Types and Values](jls-4.html#jls-4.2.1)]{.section}
[[4.2.2. Integer Operations](jls-4.html#jls-4.2.2)]{.section}
[[4.2.3. Floating-Point Types, Formats, and
Values](jls-4.html#jls-4.2.3)]{.section}
[[4.2.4. Floating-Point Operations](jls-4.html#jls-4.2.4)]{.section}
[[4.2.5. The `boolean`{.literal} Type and boolean
Values](jls-4.html#jls-4.2.5)]{.section}
[[4.3. Reference Types and Values](jls-4.html#jls-4.3)]{.section}
[[4.3.1. Objects](jls-4.html#jls-4.3.1)]{.section}
[[4.3.2. The Class `Object`{.literal}](jls-4.html#jls-4.3.2)]{.section}
[[4.3.3. The Class `String`{.literal}](jls-4.html#jls-4.3.3)]{.section}
[[4.3.4. When Reference Types Are the
Same](jls-4.html#jls-4.3.4)]{.section}
[[4.4. Type Variables](jls-4.html#jls-4.4)]{.section}
[[4.5. Parameterized Types](jls-4.html#jls-4.5)]{.section}
[[4.5.1. Type Arguments of Parameterized
Types](jls-4.html#jls-4.5.1)]{.section}
[[4.5.2. Members and Constructors of Parameterized
Types](jls-4.html#jls-4.5.2)]{.section}
[[4.6. Type Erasure](jls-4.html#jls-4.6)]{.section}
[[4.7. Reifiable Types](jls-4.html#jls-4.7)]{.section}
[[4.8. Raw Types](jls-4.html#jls-4.8)]{.section}
[[4.9. Intersection Types](jls-4.html#jls-4.9)]{.section}
[[4.10. Subtyping](jls-4.html#jls-4.10)]{.section}
[[4.10.1. Subtyping among Primitive
Types](jls-4.html#jls-4.10.1)]{.section}
[[4.10.2. Subtyping among Class and Interface
Types](jls-4.html#jls-4.10.2)]{.section}
[[4.10.3. Subtyping among Array Types](jls-4.html#jls-4.10.3)]{.section}
[[4.10.4. Least Upper Bound](jls-4.html#jls-4.10.4)]{.section}
[[4.10.5. Type Projections](jls-4.html#jls-4.10.5)]{.section}
[[4.11. Where Types Are Used](jls-4.html#jls-4.11)]{.section}
[[4.12. Variables](jls-4.html#jls-4.12)]{.section}
[[4.12.1. Variables of Primitive Type](jls-4.html#jls-4.12.1)]{.section}
[[4.12.2. Variables of Reference Type](jls-4.html#jls-4.12.2)]{.section}
[[4.12.3. Kinds of Variables](jls-4.html#jls-4.12.3)]{.section}
[[4.12.4. `final`{.literal} Variables](jls-4.html#jls-4.12.4)]{.section}
[[4.12.5. Initial Values of Variables](jls-4.html#jls-4.12.5)]{.section}
[[4.12.6. Types, Classes, and
Interfaces](jls-4.html#jls-4.12.6)]{.section}
[[5. Conversions and Contexts](jls-5.html)]{.chapter}
[[5.1. Kinds of Conversion](jls-5.html#jls-5.1)]{.section}
[[5.1.1. Identity Conversion](jls-5.html#jls-5.1.1)]{.section}
[[5.1.2. Widening Primitive Conversion](jls-5.html#jls-5.1.2)]{.section}
[[5.1.3. Narrowing Primitive
Conversion](jls-5.html#jls-5.1.3)]{.section}
[[5.1.4. Widening and Narrowing Primitive
Conversion](jls-5.html#jls-5.1.4)]{.section}
[[5.1.5. Widening Reference Conversion](jls-5.html#jls-5.1.5)]{.section}
[[5.1.6. Narrowing Reference
Conversion](jls-5.html#jls-5.1.6)]{.section}
[[5.1.6.1. Allowed Narrowing Reference
Conversion](jls-5.html#jls-5.1.6.1)]{.section}
[[5.1.6.2. Checked and Unchecked Narrowing Reference
Conversions](jls-5.html#jls-5.1.6.2)]{.section}
[[5.1.6.3. Narrowing Reference Conversions at Run
Time](jls-5.html#jls-5.1.6.3)]{.section}
[[5.1.7. Boxing Conversion](jls-5.html#jls-5.1.7)]{.section}
[[5.1.8. Unboxing Conversion](jls-5.html#jls-5.1.8)]{.section}
[[5.1.9. Unchecked Conversion](jls-5.html#jls-5.1.9)]{.section}
[[5.1.10. Capture Conversion](jls-5.html#jls-5.1.10)]{.section}
[[5.1.11. String Conversion](jls-5.html#jls-5.1.11)]{.section}
[[5.1.12. Forbidden Conversions](jls-5.html#jls-5.1.12)]{.section}
[[5.1.13. Value Set Conversion](jls-5.html#jls-5.1.13)]{.section}
[[5.2. Assignment Contexts](jls-5.html#jls-5.2)]{.section}
[[5.3. Invocation Contexts](jls-5.html#jls-5.3)]{.section}
[[5.4. String Contexts](jls-5.html#jls-5.4)]{.section}
[[5.5. Casting Contexts](jls-5.html#jls-5.5)]{.section}
[[5.6. Numeric Contexts](jls-5.html#jls-5.6)]{.section}
[[5.6.1. Unary Numeric Promotion](jls-5.html#jls-5.6.1)]{.section}
[[5.6.2. Binary Numeric Promotion](jls-5.html#jls-5.6.2)]{.section}
[[6. Names](jls-6.html)]{.chapter}
[[6.1. Declarations](jls-6.html#jls-6.1)]{.section}
[[6.2. Names and Identifiers](jls-6.html#jls-6.2)]{.section}
[[6.3. Scope of a Declaration](jls-6.html#jls-6.3)]{.section}
[[6.4. Shadowing and Obscuring](jls-6.html#jls-6.4)]{.section}
[[6.4.1. Shadowing](jls-6.html#jls-6.4.1)]{.section}
[[6.4.2. Obscuring](jls-6.html#jls-6.4.2)]{.section}
[[6.5. Determining the Meaning of a Name](jls-6.html#jls-6.5)]{.section}
[[6.5.1. Syntactic Classification of a Name According to
Context](jls-6.html#jls-6.5.1)]{.section}
[[6.5.2. Reclassification of Contextually Ambiguous
Names](jls-6.html#jls-6.5.2)]{.section}
[[6.5.3. Meaning of Module Names and Package
Names](jls-6.html#jls-6.5.3)]{.section}
[[6.5.3.1. Simple Package Names](jls-6.html#jls-6.5.3.1)]{.section}
[[6.5.3.2. Qualified Package Names](jls-6.html#jls-6.5.3.2)]{.section}
[[6.5.4. Meaning of
[*PackageOrTypeNames*]{.emphasis}](jls-6.html#jls-6.5.4)]{.section}
[[6.5.4.1. Simple
[*PackageOrTypeNames*]{.emphasis}](jls-6.html#jls-6.5.4.1)]{.section}
[[6.5.4.2. Qualified
[*PackageOrTypeNames*]{.emphasis}](jls-6.html#jls-6.5.4.2)]{.section}
[[6.5.5. Meaning of Type Names](jls-6.html#jls-6.5.5)]{.section}
[[6.5.5.1. Simple Type Names](jls-6.html#jls-6.5.5.1)]{.section}
[[6.5.5.2. Qualified Type Names](jls-6.html#jls-6.5.5.2)]{.section}
[[6.5.6. Meaning of Expression Names](jls-6.html#jls-6.5.6)]{.section}
[[6.5.6.1. Simple Expression Names](jls-6.html#jls-6.5.6.1)]{.section}
[[6.5.6.2. Qualified Expression
Names](jls-6.html#jls-6.5.6.2)]{.section}
[[6.5.7. Meaning of Method Names](jls-6.html#jls-6.5.7)]{.section}
[[6.5.7.1. Simple Method Names](jls-6.html#jls-6.5.7.1)]{.section}
[[6.6. Access Control](jls-6.html#jls-6.6)]{.section}
[[6.6.1. Determining Accessibility](jls-6.html#jls-6.6.1)]{.section}
[[6.6.2. Details on `protected`{.literal}
Access](jls-6.html#jls-6.6.2)]{.section}
[[6.6.2.1. Access to a `protected`{.literal}
Member](jls-6.html#jls-6.6.2.1)]{.section}
[[6.6.2.2. Access to a `protected`{.literal}
Constructor](jls-6.html#jls-6.6.2.2)]{.section}
[[6.7. Fully Qualified Names and Canonical
Names](jls-6.html#jls-6.7)]{.section}
[[7. Packages and Modules](jls-7.html)]{.chapter}
[[7.1. Package Members](jls-7.html#jls-7.1)]{.section}
[[7.2. Host Support for Modules and
Packages](jls-7.html#jls-7.2)]{.section}
[[7.3. Compilation Units](jls-7.html#jls-7.3)]{.section}
[[7.4. Package Declarations](jls-7.html#jls-7.4)]{.section}
[[7.4.1. Named Packages](jls-7.html#jls-7.4.1)]{.section}
[[7.4.2. Unnamed Packages](jls-7.html#jls-7.4.2)]{.section}
[[7.4.3. Package Observability and
Visibility](jls-7.html#jls-7.4.3)]{.section}
[[7.5. Import Declarations](jls-7.html#jls-7.5)]{.section}
[[7.5.1. Single-Type-Import
Declarations](jls-7.html#jls-7.5.1)]{.section}
[[7.5.2. Type-Import-on-Demand
Declarations](jls-7.html#jls-7.5.2)]{.section}
[[7.5.3. Single-Static-Import
Declarations](jls-7.html#jls-7.5.3)]{.section}
[[7.5.4. Static-Import-on-Demand
Declarations](jls-7.html#jls-7.5.4)]{.section}
[[7.6. Top Level Type Declarations](jls-7.html#jls-7.6)]{.section}
[[7.7. Module Declarations](jls-7.html#jls-7.7)]{.section}
[[7.7.1. Dependences](jls-7.html#jls-7.7.1)]{.section}
[[7.7.2. Exported and Opened Packages](jls-7.html#jls-7.7.2)]{.section}
[[7.7.3. Service Consumption](jls-7.html#jls-7.7.3)]{.section}
[[7.7.4. Service Provision](jls-7.html#jls-7.7.4)]{.section}
[[7.7.5. Unnamed Modules](jls-7.html#jls-7.7.5)]{.section}
[[7.7.6. Observability of a Module](jls-7.html#jls-7.7.6)]{.section}
[[8. Classes](jls-8.html)]{.chapter}
[[8.1. Class Declarations](jls-8.html#jls-8.1)]{.section}
[[8.1.1. Class Modifiers](jls-8.html#jls-8.1.1)]{.section}
[[8.1.1.1. `abstract`{.literal}
Classes](jls-8.html#jls-8.1.1.1)]{.section}
[[8.1.1.2. `final`{.literal} Classes](jls-8.html#jls-8.1.1.2)]{.section}
[[8.1.1.3. `strictfp`{.literal}
Classes](jls-8.html#jls-8.1.1.3)]{.section}
[[8.1.2. Generic Classes and Type
Parameters](jls-8.html#jls-8.1.2)]{.section}
[[8.1.3. Inner Classes and Enclosing
Instances](jls-8.html#jls-8.1.3)]{.section}
[[8.1.4. Superclasses and Subclasses](jls-8.html#jls-8.1.4)]{.section}
[[8.1.5. Superinterfaces](jls-8.html#jls-8.1.5)]{.section}
[[8.1.6. Class Body and Member
Declarations](jls-8.html#jls-8.1.6)]{.section}
[[8.2. Class Members](jls-8.html#jls-8.2)]{.section}
[[8.3. Field Declarations](jls-8.html#jls-8.3)]{.section}
[[8.3.1. Field Modifiers](jls-8.html#jls-8.3.1)]{.section}
[[8.3.1.1. `static`{.literal} Fields](jls-8.html#jls-8.3.1.1)]{.section}
[[8.3.1.2. `final`{.literal} Fields](jls-8.html#jls-8.3.1.2)]{.section}
[[8.3.1.3. `transient`{.literal}
Fields](jls-8.html#jls-8.3.1.3)]{.section}
[[8.3.1.4. `volatile`{.literal}
Fields](jls-8.html#jls-8.3.1.4)]{.section}
[[8.3.2. Field Initialization](jls-8.html#jls-8.3.2)]{.section}
[[8.3.3. Restrictions on Field References in
Initializers](jls-8.html#jls-8.3.3)]{.section}
[[8.4. Method Declarations](jls-8.html#jls-8.4)]{.section}
[[8.4.1. Formal Parameters](jls-8.html#jls-8.4.1)]{.section}
[[8.4.2. Method Signature](jls-8.html#jls-8.4.2)]{.section}
[[8.4.3. Method Modifiers](jls-8.html#jls-8.4.3)]{.section}
[[8.4.3.1. `abstract`{.literal}
Methods](jls-8.html#jls-8.4.3.1)]{.section}
[[8.4.3.2. `static`{.literal}
Methods](jls-8.html#jls-8.4.3.2)]{.section}
[[8.4.3.3. `final`{.literal} Methods](jls-8.html#jls-8.4.3.3)]{.section}
[[8.4.3.4. `native`{.literal}
Methods](jls-8.html#jls-8.4.3.4)]{.section}
[[8.4.3.5. `strictfp`{.literal}
Methods](jls-8.html#jls-8.4.3.5)]{.section}
[[8.4.3.6. `synchronized`{.literal}
Methods](jls-8.html#jls-8.4.3.6)]{.section}
[[8.4.4. Generic Methods](jls-8.html#jls-8.4.4)]{.section}
[[8.4.5. Method Result](jls-8.html#jls-8.4.5)]{.section}
[[8.4.6. Method Throws](jls-8.html#jls-8.4.6)]{.section}
[[8.4.7. Method Body](jls-8.html#jls-8.4.7)]{.section}
[[8.4.8. Inheritance, Overriding, and
Hiding](jls-8.html#jls-8.4.8)]{.section}
[[8.4.8.1. Overriding (by Instance
Methods)](jls-8.html#jls-8.4.8.1)]{.section}
[[8.4.8.2. Hiding (by Class Methods)](jls-8.html#jls-8.4.8.2)]{.section}
[[8.4.8.3. Requirements in Overriding and
Hiding](jls-8.html#jls-8.4.8.3)]{.section}
[[8.4.8.4. Inheriting Methods with Override-Equivalent
Signatures](jls-8.html#jls-8.4.8.4)]{.section}
[[8.4.9. Overloading](jls-8.html#jls-8.4.9)]{.section}
[[8.5. Member Type Declarations](jls-8.html#jls-8.5)]{.section}
[[8.5.1. Static Member Type
Declarations](jls-8.html#jls-8.5.1)]{.section}
[[8.6. Instance Initializers](jls-8.html#jls-8.6)]{.section}
[[8.7. Static Initializers](jls-8.html#jls-8.7)]{.section}
[[8.8. Constructor Declarations](jls-8.html#jls-8.8)]{.section}
[[8.8.1. Formal Parameters](jls-8.html#jls-8.8.1)]{.section}
[[8.8.2. Constructor Signature](jls-8.html#jls-8.8.2)]{.section}
[[8.8.3. Constructor Modifiers](jls-8.html#jls-8.8.3)]{.section}
[[8.8.4. Generic Constructors](jls-8.html#jls-8.8.4)]{.section}
[[8.8.5. Constructor Throws](jls-8.html#jls-8.8.5)]{.section}
[[8.8.6. The Type of a Constructor](jls-8.html#jls-8.8.6)]{.section}
[[8.8.7. Constructor Body](jls-8.html#jls-8.8.7)]{.section}
[[8.8.7.1. Explicit Constructor
Invocations](jls-8.html#jls-8.8.7.1)]{.section}
[[8.8.8. Constructor Overloading](jls-8.html#jls-8.8.8)]{.section}
[[8.8.9. Default Constructor](jls-8.html#jls-8.8.9)]{.section}
[[8.8.10. Preventing Instantiation of a
Class](jls-8.html#jls-8.8.10)]{.section}
[[8.9. Enum Types](jls-8.html#jls-8.9)]{.section}
[[8.9.1. Enum Constants](jls-8.html#jls-8.9.1)]{.section}
[[8.9.2. Enum Body Declarations](jls-8.html#jls-8.9.2)]{.section}
[[8.9.3. Enum Members](jls-8.html#jls-8.9.3)]{.section}
[[9. Interfaces](jls-9.html)]{.chapter}
[[9.1. Interface Declarations](jls-9.html#jls-9.1)]{.section}
[[9.1.1. Interface Modifiers](jls-9.html#jls-9.1.1)]{.section}
[[9.1.1.1. `abstract`{.literal}
Interfaces](jls-9.html#jls-9.1.1.1)]{.section}
[[9.1.1.2. `strictfp`{.literal}
Interfaces](jls-9.html#jls-9.1.1.2)]{.section}
[[9.1.2. Generic Interfaces and Type
Parameters](jls-9.html#jls-9.1.2)]{.section}
[[9.1.3. Superinterfaces and
Subinterfaces](jls-9.html#jls-9.1.3)]{.section}
[[9.1.4. Interface Body and Member
Declarations](jls-9.html#jls-9.1.4)]{.section}
[[9.2. Interface Members](jls-9.html#jls-9.2)]{.section}
[[9.3. Field (Constant) Declarations](jls-9.html#jls-9.3)]{.section}
[[9.3.1. Initialization of Fields in
Interfaces](jls-9.html#jls-9.3.1)]{.section}
[[9.4. Method Declarations](jls-9.html#jls-9.4)]{.section}
[[9.4.1. Inheritance and Overriding](jls-9.html#jls-9.4.1)]{.section}
[[9.4.1.1. Overriding (by Instance
Methods)](jls-9.html#jls-9.4.1.1)]{.section}
[[9.4.1.2. Requirements in
Overriding](jls-9.html#jls-9.4.1.2)]{.section}
[[9.4.1.3. Inheriting Methods with Override-Equivalent
Signatures](jls-9.html#jls-9.4.1.3)]{.section}
[[9.4.2. Overloading](jls-9.html#jls-9.4.2)]{.section}
[[9.4.3. Interface Method Body](jls-9.html#jls-9.4.3)]{.section}
[[9.5. Member Type Declarations](jls-9.html#jls-9.5)]{.section}
[[9.6. Annotation Types](jls-9.html#jls-9.6)]{.section}
[[9.6.1. Annotation Type Elements](jls-9.html#jls-9.6.1)]{.section}
[[9.6.2. Defaults for Annotation Type
Elements](jls-9.html#jls-9.6.2)]{.section}
[[9.6.3. Repeatable Annotation Types](jls-9.html#jls-9.6.3)]{.section}
[[9.6.4. Predefined Annotation Types](jls-9.html#jls-9.6.4)]{.section}
[[9.6.4.1. `@Target`{.literal}](jls-9.html#jls-9.6.4.1)]{.section}
[[9.6.4.2. `@Retention`{.literal}](jls-9.html#jls-9.6.4.2)]{.section}
[[9.6.4.3. `@Inherited`{.literal}](jls-9.html#jls-9.6.4.3)]{.section}
[[9.6.4.4. `@Override`{.literal}](jls-9.html#jls-9.6.4.4)]{.section}
[[9.6.4.5.
`@SuppressWarnings`{.literal}](jls-9.html#jls-9.6.4.5)]{.section}
[[9.6.4.6. `@Deprecated`{.literal}](jls-9.html#jls-9.6.4.6)]{.section}
[[9.6.4.7. `@SafeVarargs`{.literal}](jls-9.html#jls-9.6.4.7)]{.section}
[[9.6.4.8. `@Repeatable`{.literal}](jls-9.html#jls-9.6.4.8)]{.section}
[[9.6.4.9.
`@FunctionalInterface`{.literal}](jls-9.html#jls-9.6.4.9)]{.section}
[[9.7. Annotations](jls-9.html#jls-9.7)]{.section}
[[9.7.1. Normal Annotations](jls-9.html#jls-9.7.1)]{.section}
[[9.7.2. Marker Annotations](jls-9.html#jls-9.7.2)]{.section}
[[9.7.3. Single-Element Annotations](jls-9.html#jls-9.7.3)]{.section}
[[9.7.4. Where Annotations May Appear](jls-9.html#jls-9.7.4)]{.section}
[[9.7.5. Multiple Annotations of the Same
Type](jls-9.html#jls-9.7.5)]{.section}
[[9.8. Functional Interfaces](jls-9.html#jls-9.8)]{.section}
[[9.9. Function Types](jls-9.html#jls-9.9)]{.section}
[[10. Arrays](jls-10.html)]{.chapter}
[[10.1. Array Types](jls-10.html#jls-10.1)]{.section}
[[10.2. Array Variables](jls-10.html#jls-10.2)]{.section}
[[10.3. Array Creation](jls-10.html#jls-10.3)]{.section}
[[10.4. Array Access](jls-10.html#jls-10.4)]{.section}
[[10.5. Array Store Exception](jls-10.html#jls-10.5)]{.section}
[[10.6. Array Initializers](jls-10.html#jls-10.6)]{.section}
[[10.7. Array Members](jls-10.html#jls-10.7)]{.section}
[[10.8. `Class`{.literal} Objects for
Arrays](jls-10.html#jls-10.8)]{.section}
[[10.9. An Array of Characters Is Not a
`String`{.literal}](jls-10.html#jls-10.9)]{.section}
[[11. Exceptions](jls-11.html)]{.chapter}
[[11.1. The Kinds and Causes of
Exceptions](jls-11.html#jls-11.1)]{.section}
[[11.1.1. The Kinds of Exceptions](jls-11.html#jls-11.1.1)]{.section}
[[11.1.2. The Causes of Exceptions](jls-11.html#jls-11.1.2)]{.section}
[[11.1.3. Asynchronous Exceptions](jls-11.html#jls-11.1.3)]{.section}
[[11.2. Compile-Time Checking of
Exceptions](jls-11.html#jls-11.2)]{.section}
[[11.2.1. Exception Analysis of
Expressions](jls-11.html#jls-11.2.1)]{.section}
[[11.2.2. Exception Analysis of
Statements](jls-11.html#jls-11.2.2)]{.section}
[[11.2.3. Exception Checking](jls-11.html#jls-11.2.3)]{.section}
[[11.3. Run-Time Handling of an
Exception](jls-11.html#jls-11.3)]{.section}
[[12. Execution](jls-12.html)]{.chapter}
[[12.1. Java Virtual Machine Startup](jls-12.html#jls-12.1)]{.section}
[[12.1.1. Load the Class
`Test`{.literal}](jls-12.html#jls-12.1.1)]{.section}
[[12.1.2. Link `Test`{.literal}: Verify, Prepare, (Optionally)
Resolve](jls-12.html#jls-12.1.2)]{.section}
[[12.1.3. Initialize Test: Execute
Initializers](jls-12.html#jls-12.1.3)]{.section}
[[12.1.4. Invoke
`Test.main`{.literal}](jls-12.html#jls-12.1.4)]{.section}
[[12.2. Loading of Classes and
Interfaces](jls-12.html#jls-12.2)]{.section}
[[12.2.1. The Loading Process](jls-12.html#jls-12.2.1)]{.section}
[[12.3. Linking of Classes and
Interfaces](jls-12.html#jls-12.3)]{.section}
[[12.3.1. Verification of the Binary
Representation](jls-12.html#jls-12.3.1)]{.section}
[[12.3.2. Preparation of a Class or Interface
Type](jls-12.html#jls-12.3.2)]{.section}
[[12.3.3. Resolution of Symbolic
References](jls-12.html#jls-12.3.3)]{.section}
[[12.4. Initialization of Classes and
Interfaces](jls-12.html#jls-12.4)]{.section}
[[12.4.1. When Initialization Occurs](jls-12.html#jls-12.4.1)]{.section}
[[12.4.2. Detailed Initialization
Procedure](jls-12.html#jls-12.4.2)]{.section}
[[12.5. Creation of New Class
Instances](jls-12.html#jls-12.5)]{.section}
[[12.6. Finalization of Class
Instances](jls-12.html#jls-12.6)]{.section}
[[12.6.1. Implementing Finalization](jls-12.html#jls-12.6.1)]{.section}
[[12.6.2. Interaction with the Memory
Model](jls-12.html#jls-12.6.2)]{.section}
[[12.7. Unloading of Classes and
Interfaces](jls-12.html#jls-12.7)]{.section}
[[12.8. Program Exit](jls-12.html#jls-12.8)]{.section}
[[13. Binary Compatibility](jls-13.html)]{.chapter}
[[13.1. The Form of a Binary](jls-13.html#jls-13.1)]{.section}
[[13.2. What Binary Compatibility Is and Is
Not](jls-13.html#jls-13.2)]{.section}
[[13.3. Evolution of Packages and
Modules](jls-13.html#jls-13.3)]{.section}
[[13.4. Evolution of Classes](jls-13.html#jls-13.4)]{.section}
[[13.4.1. `abstract`{.literal}
Classes](jls-13.html#jls-13.4.1)]{.section}
[[13.4.2. `final`{.literal} Classes](jls-13.html#jls-13.4.2)]{.section}
[[13.4.3. `public`{.literal} Classes](jls-13.html#jls-13.4.3)]{.section}
[[13.4.4. Superclasses and
Superinterfaces](jls-13.html#jls-13.4.4)]{.section}
[[13.4.5. Class Type Parameters](jls-13.html#jls-13.4.5)]{.section}
[[13.4.6. Class Body and Member
Declarations](jls-13.html#jls-13.4.6)]{.section}
[[13.4.7. Access to Members and
Constructors](jls-13.html#jls-13.4.7)]{.section}
[[13.4.8. Field Declarations](jls-13.html#jls-13.4.8)]{.section}
[[13.4.9. `final`{.literal} Fields and `static`{.literal} Constant
Variables](jls-13.html#jls-13.4.9)]{.section}
[[13.4.10. `static`{.literal}
Fields](jls-13.html#jls-13.4.10)]{.section}
[[13.4.11. `transient`{.literal}
Fields](jls-13.html#jls-13.4.11)]{.section}
[[13.4.12. Method and Constructor
Declarations](jls-13.html#jls-13.4.12)]{.section}
[[13.4.13. Method and Constructor Type
Parameters](jls-13.html#jls-13.4.13)]{.section}
[[13.4.14. Method and Constructor Formal
Parameters](jls-13.html#jls-13.4.14)]{.section}
[[13.4.15. Method Result Type](jls-13.html#jls-13.4.15)]{.section}
[[13.4.16. `abstract`{.literal}
Methods](jls-13.html#jls-13.4.16)]{.section}
[[13.4.17. `final`{.literal}
Methods](jls-13.html#jls-13.4.17)]{.section}
[[13.4.18. `native`{.literal}
Methods](jls-13.html#jls-13.4.18)]{.section}
[[13.4.19. `static`{.literal}
Methods](jls-13.html#jls-13.4.19)]{.section}
[[13.4.20. `synchronized`{.literal}
Methods](jls-13.html#jls-13.4.20)]{.section}
[[13.4.21. Method and Constructor
Throws](jls-13.html#jls-13.4.21)]{.section}
[[13.4.22. Method and Constructor
Body](jls-13.html#jls-13.4.22)]{.section}
[[13.4.23. Method and Constructor
Overloading](jls-13.html#jls-13.4.23)]{.section}
[[13.4.24. Method Overriding](jls-13.html#jls-13.4.24)]{.section}
[[13.4.25. Static Initializers](jls-13.html#jls-13.4.25)]{.section}
[[13.4.26. Evolution of Enums](jls-13.html#jls-13.4.26)]{.section}
[[13.5. Evolution of Interfaces](jls-13.html#jls-13.5)]{.section}
[[13.5.1. `public`{.literal}
Interfaces](jls-13.html#jls-13.5.1)]{.section}
[[13.5.2. Superinterfaces](jls-13.html#jls-13.5.2)]{.section}
[[13.5.3. Interface Members](jls-13.html#jls-13.5.3)]{.section}
[[13.5.4. Interface Type Parameters](jls-13.html#jls-13.5.4)]{.section}
[[13.5.5. Field Declarations](jls-13.html#jls-13.5.5)]{.section}
[[13.5.6. Interface Method
Declarations](jls-13.html#jls-13.5.6)]{.section}
[[13.5.7. Evolution of Annotation
Types](jls-13.html#jls-13.5.7)]{.section}
[[14. Blocks and Statements](jls-14.html)]{.chapter}
[[14.1. Normal and Abrupt Completion of
Statements](jls-14.html#jls-14.1)]{.section}
[[14.2. Blocks](jls-14.html#jls-14.2)]{.section}
[[14.3. Local Class Declarations](jls-14.html#jls-14.3)]{.section}
[[14.4. Local Variable Declaration
Statements](jls-14.html#jls-14.4)]{.section}
[[14.4.1. Local Variable Declarators and
Types](jls-14.html#jls-14.4.1)]{.section}
[[14.4.2. Execution of Local Variable
Declarations](jls-14.html#jls-14.4.2)]{.section}
[[14.5. Statements](jls-14.html#jls-14.5)]{.section}
[[14.6. The Empty Statement](jls-14.html#jls-14.6)]{.section}
[[14.7. Labeled Statements](jls-14.html#jls-14.7)]{.section}
[[14.8. Expression Statements](jls-14.html#jls-14.8)]{.section}
[[14.9. The `if`{.literal} Statement](jls-14.html#jls-14.9)]{.section}
[[14.9.1. The `if`{.literal}-`then`{.literal}
Statement](jls-14.html#jls-14.9.1)]{.section}
[[14.9.2. The `if`{.literal}-`then`{.literal}-`else`{.literal}
Statement](jls-14.html#jls-14.9.2)]{.section}
[[14.10. The `assert`{.literal}
Statement](jls-14.html#jls-14.10)]{.section}
[[14.11. The `switch`{.literal}
Statement](jls-14.html#jls-14.11)]{.section}
[[14.12. The `while`{.literal}
Statement](jls-14.html#jls-14.12)]{.section}
[[14.12.1. Abrupt Completion of `while`{.literal}
Statement](jls-14.html#jls-14.12.1)]{.section}
[[14.13. The `do`{.literal} Statement](jls-14.html#jls-14.13)]{.section}
[[14.13.1. Abrupt Completion of `do`{.literal}
Statement](jls-14.html#jls-14.13.1)]{.section}
[[14.14. The `for`{.literal}
Statement](jls-14.html#jls-14.14)]{.section}
[[14.14.1. The basic `for`{.literal}
Statement](jls-14.html#jls-14.14.1)]{.section}
[[14.14.1.1. Initialization of `for`{.literal}
Statement](jls-14.html#jls-14.14.1.1)]{.section}
[[14.14.1.2. Iteration of `for`{.literal}
Statement](jls-14.html#jls-14.14.1.2)]{.section}
[[14.14.1.3. Abrupt Completion of `for`{.literal}
Statement](jls-14.html#jls-14.14.1.3)]{.section}
[[14.14.2. The enhanced `for`{.literal}
statement](jls-14.html#jls-14.14.2)]{.section}
[[14.15. The `break`{.literal}
Statement](jls-14.html#jls-14.15)]{.section}
[[14.16. The `continue`{.literal}
Statement](jls-14.html#jls-14.16)]{.section}
[[14.17. The `return`{.literal}
Statement](jls-14.html#jls-14.17)]{.section}
[[14.18. The `throw`{.literal}
Statement](jls-14.html#jls-14.18)]{.section}
[[14.19. The `synchronized`{.literal}
Statement](jls-14.html#jls-14.19)]{.section}
[[14.20. The `try`{.literal}
statement](jls-14.html#jls-14.20)]{.section}
[[14.20.1. Execution of
`try`{.literal}-`catch`{.literal}](jls-14.html#jls-14.20.1)]{.section}
[[14.20.2. Execution of `try`{.literal}-`finally`{.literal} and
`try`{.literal}-`catch`{.literal}-`finally`{.literal}](jls-14.html#jls-14.20.2)]{.section}
[[14.20.3.
`try`{.literal}-with-resources](jls-14.html#jls-14.20.3)]{.section}
[[14.20.3.1. Basic
`try`{.literal}-with-resources](jls-14.html#jls-14.20.3.1)]{.section}
[[14.20.3.2. Extended
`try`{.literal}-with-resources](jls-14.html#jls-14.20.3.2)]{.section}
[[14.21. Unreachable Statements](jls-14.html#jls-14.21)]{.section}
[[15. Expressions](jls-15.html)]{.chapter}
[[15.1. Evaluation, Denotation, and
Result](jls-15.html#jls-15.1)]{.section}
[[15.2. Forms of Expressions](jls-15.html#jls-15.2)]{.section}
[[15.3. Type of an Expression](jls-15.html#jls-15.3)]{.section}
[[15.4. FP-strict Expressions](jls-15.html#jls-15.4)]{.section}
[[15.5. Expressions and Run-Time
Checks](jls-15.html#jls-15.5)]{.section}
[[15.6. Normal and Abrupt Completion of
Evaluation](jls-15.html#jls-15.6)]{.section}
[[15.7. Evaluation Order](jls-15.html#jls-15.7)]{.section}
[[15.7.1. Evaluate Left-Hand Operand
First](jls-15.html#jls-15.7.1)]{.section}
[[15.7.2. Evaluate Operands before
Operation](jls-15.html#jls-15.7.2)]{.section}
[[15.7.3. Evaluation Respects Parentheses and
Precedence](jls-15.html#jls-15.7.3)]{.section}
[[15.7.4. Argument Lists are Evaluated
Left-to-Right](jls-15.html#jls-15.7.4)]{.section}
[[15.7.5. Evaluation Order for Other
Expressions](jls-15.html#jls-15.7.5)]{.section}
[[15.8. Primary Expressions](jls-15.html#jls-15.8)]{.section}
[[15.8.1. Lexical Literals](jls-15.html#jls-15.8.1)]{.section}
[[15.8.2. Class Literals](jls-15.html#jls-15.8.2)]{.section}
[[15.8.3. `this`{.literal}](jls-15.html#jls-15.8.3)]{.section}
[[15.8.4. Qualified `this`{.literal}](jls-15.html#jls-15.8.4)]{.section}
[[15.8.5. Parenthesized Expressions](jls-15.html#jls-15.8.5)]{.section}
[[15.9. Class Instance Creation
Expressions](jls-15.html#jls-15.9)]{.section}
[[15.9.1. Determining the Class being
Instantiated](jls-15.html#jls-15.9.1)]{.section}
[[15.9.2. Determining Enclosing
Instances](jls-15.html#jls-15.9.2)]{.section}
[[15.9.3. Choosing the Constructor and its
Arguments](jls-15.html#jls-15.9.3)]{.section}
[[15.9.4. Run-Time Evaluation of Class Instance Creation
Expressions](jls-15.html#jls-15.9.4)]{.section}
[[15.9.5. Anonymous Class
Declarations](jls-15.html#jls-15.9.5)]{.section}
[[15.9.5.1. Anonymous Constructors](jls-15.html#jls-15.9.5.1)]{.section}
[[15.10. Array Creation and Access
Expressions](jls-15.html#jls-15.10)]{.section}
[[15.10.1. Array Creation
Expressions](jls-15.html#jls-15.10.1)]{.section}
[[15.10.2. Run-Time Evaluation of Array Creation
Expressions](jls-15.html#jls-15.10.2)]{.section}
[[15.10.3. Array Access Expressions](jls-15.html#jls-15.10.3)]{.section}
[[15.10.4. Run-Time Evaluation of Array Access
Expressions](jls-15.html#jls-15.10.4)]{.section}
[[15.11. Field Access Expressions](jls-15.html#jls-15.11)]{.section}
[[15.11.1. Field Access Using a
Primary](jls-15.html#jls-15.11.1)]{.section}
[[15.11.2. Accessing Superclass Members using
`super`{.literal}](jls-15.html#jls-15.11.2)]{.section}
[[15.12. Method Invocation
Expressions](jls-15.html#jls-15.12)]{.section}
[[15.12.1. Compile-Time Step 1: Determine Class or Interface to
Search](jls-15.html#jls-15.12.1)]{.section}
[[15.12.2. Compile-Time Step 2: Determine Method
Signature](jls-15.html#jls-15.12.2)]{.section}
[[15.12.2.1. Identify Potentially Applicable
Methods](jls-15.html#jls-15.12.2.1)]{.section}
[[15.12.2.2. Phase 1: Identify Matching Arity Methods Applicable by
Strict Invocation](jls-15.html#jls-15.12.2.2)]{.section}
[[15.12.2.3. Phase 2: Identify Matching Arity Methods Applicable by
Loose Invocation](jls-15.html#jls-15.12.2.3)]{.section}
[[15.12.2.4. Phase 3: Identify Methods Applicable by Variable Arity
Invocation](jls-15.html#jls-15.12.2.4)]{.section}
[[15.12.2.5. Choosing the Most Specific
Method](jls-15.html#jls-15.12.2.5)]{.section}
[[15.12.2.6. Method Invocation
Type](jls-15.html#jls-15.12.2.6)]{.section}
[[15.12.3. Compile-Time Step 3: Is the Chosen Method
Appropriate?](jls-15.html#jls-15.12.3)]{.section}
[[15.12.4. Run-Time Evaluation of Method
Invocation](jls-15.html#jls-15.12.4)]{.section}
[[15.12.4.1. Compute Target Reference (If
Necessary)](jls-15.html#jls-15.12.4.1)]{.section}
[[15.12.4.2. Evaluate Arguments](jls-15.html#jls-15.12.4.2)]{.section}
[[15.12.4.3. Check Accessibility of Type and
Method](jls-15.html#jls-15.12.4.3)]{.section}
[[15.12.4.4. Locate Method to
Invoke](jls-15.html#jls-15.12.4.4)]{.section}
[[15.12.4.5. Create Frame, Synchronize, Transfer
Control](jls-15.html#jls-15.12.4.5)]{.section}
[[15.13. Method Reference Expressions](jls-15.html#jls-15.13)]{.section}
[[15.13.1. Compile-Time Declaration of a Method
Reference](jls-15.html#jls-15.13.1)]{.section}
[[15.13.2. Type of a Method
Reference](jls-15.html#jls-15.13.2)]{.section}
[[15.13.3. Run-Time Evaluation of Method
References](jls-15.html#jls-15.13.3)]{.section}
[[15.14. Postfix Expressions](jls-15.html#jls-15.14)]{.section}
[[15.14.1. Expression Names](jls-15.html#jls-15.14.1)]{.section}
[[15.14.2. Postfix Increment Operator
`++`{.literal}](jls-15.html#jls-15.14.2)]{.section}
[[15.14.3. Postfix Decrement Operator
`--`{.literal}](jls-15.html#jls-15.14.3)]{.section}
[[15.15. Unary Operators](jls-15.html#jls-15.15)]{.section}
[[15.15.1. Prefix Increment Operator
`++`{.literal}](jls-15.html#jls-15.15.1)]{.section}
[[15.15.2. Prefix Decrement Operator
`--`{.literal}](jls-15.html#jls-15.15.2)]{.section}
[[15.15.3. Unary Plus Operator
`+`{.literal}](jls-15.html#jls-15.15.3)]{.section}
[[15.15.4. Unary Minus Operator
`-`{.literal}](jls-15.html#jls-15.15.4)]{.section}
[[15.15.5. Bitwise Complement Operator
`~`{.literal}](jls-15.html#jls-15.15.5)]{.section}
[[15.15.6. Logical Complement Operator
`!`{.literal}](jls-15.html#jls-15.15.6)]{.section}
[[15.16. Cast Expressions](jls-15.html#jls-15.16)]{.section}
[[15.17. Multiplicative Operators](jls-15.html#jls-15.17)]{.section}
[[15.17.1. Multiplication Operator
`*`{.literal}](jls-15.html#jls-15.17.1)]{.section}
[[15.17.2. Division Operator
`/`{.literal}](jls-15.html#jls-15.17.2)]{.section}
[[15.17.3. Remainder Operator
`%`{.literal}](jls-15.html#jls-15.17.3)]{.section}
[[15.18. Additive Operators](jls-15.html#jls-15.18)]{.section}
[[15.18.1. String Concatenation Operator
`+`{.literal}](jls-15.html#jls-15.18.1)]{.section}
[[15.18.2. Additive Operators (`+`{.literal} and `-`{.literal}) for
Numeric Types](jls-15.html#jls-15.18.2)]{.section}
[[15.19. Shift Operators](jls-15.html#jls-15.19)]{.section}
[[15.20. Relational Operators](jls-15.html#jls-15.20)]{.section}
[[15.20.1. Numerical Comparison Operators `<`{.literal}, `<=`{.literal},
`>`{.literal}, and `>=`{.literal}](jls-15.html#jls-15.20.1)]{.section}
[[15.20.2. Type Comparison Operator
`instanceof`{.literal}](jls-15.html#jls-15.20.2)]{.section}
[[15.21. Equality Operators](jls-15.html#jls-15.21)]{.section}
[[15.21.1. Numerical Equality Operators `==`{.literal} and
`!=`{.literal}](jls-15.html#jls-15.21.1)]{.section}
[[15.21.2. Boolean Equality Operators `==`{.literal} and
`!=`{.literal}](jls-15.html#jls-15.21.2)]{.section}
[[15.21.3. Reference Equality Operators `==`{.literal} and
`!=`{.literal}](jls-15.html#jls-15.21.3)]{.section}
[[15.22. Bitwise and Logical
Operators](jls-15.html#jls-15.22)]{.section}
[[15.22.1. Integer Bitwise Operators `&`{.literal}, `^`{.literal}, and
`|`{.literal}](jls-15.html#jls-15.22.1)]{.section}
[[15.22.2. Boolean Logical Operators `&`{.literal}, `^`{.literal}, and
`|`{.literal}](jls-15.html#jls-15.22.2)]{.section}
[[15.23. Conditional-And Operator
`&&`{.literal}](jls-15.html#jls-15.23)]{.section}
[[15.24. Conditional-Or Operator
`||`{.literal}](jls-15.html#jls-15.24)]{.section}
[[15.25. Conditional Operator
`? :`{.literal}](jls-15.html#jls-15.25)]{.section}
[[15.25.1. Boolean Conditional
Expressions](jls-15.html#jls-15.25.1)]{.section}
[[15.25.2. Numeric Conditional
Expressions](jls-15.html#jls-15.25.2)]{.section}
[[15.25.3. Reference Conditional
Expressions](jls-15.html#jls-15.25.3)]{.section}
[[15.26. Assignment Operators](jls-15.html#jls-15.26)]{.section}
[[15.26.1. Simple Assignment Operator
`=`{.literal}](jls-15.html#jls-15.26.1)]{.section}
[[15.26.2. Compound Assignment
Operators](jls-15.html#jls-15.26.2)]{.section}
[[15.27. Lambda Expressions](jls-15.html#jls-15.27)]{.section}
[[15.27.1. Lambda Parameters](jls-15.html#jls-15.27.1)]{.section}
[[15.27.2. Lambda Body](jls-15.html#jls-15.27.2)]{.section}
[[15.27.3. Type of a Lambda
Expression](jls-15.html#jls-15.27.3)]{.section}
[[15.27.4. Run-Time Evaluation of Lambda
Expressions](jls-15.html#jls-15.27.4)]{.section}
[[15.28. Constant Expressions](jls-15.html#jls-15.28)]{.section}
[[16. Definite Assignment](jls-16.html)]{.chapter}
[[16.1. Definite Assignment and
Expressions](jls-16.html#jls-16.1)]{.section}
[[16.1.1. Boolean Constant
Expressions](jls-16.html#jls-16.1.1)]{.section}
[[16.1.2. Conditional-And Operator
`&&`{.literal}](jls-16.html#jls-16.1.2)]{.section}
[[16.1.3. Conditional-Or Operator
`||`{.literal}](jls-16.html#jls-16.1.3)]{.section}
[[16.1.4. Logical Complement Operator
`!`{.literal}](jls-16.html#jls-16.1.4)]{.section}
[[16.1.5. Conditional Operator
`? :`{.literal}](jls-16.html#jls-16.1.5)]{.section}
[[16.1.6. Conditional Operator
`? :`{.literal}](jls-16.html#jls-16.1.6)]{.section}
[[16.1.7. Other Expressions of Type
`boolean`{.literal}](jls-16.html#jls-16.1.7)]{.section}
[[16.1.8. Assignment Expressions](jls-16.html#jls-16.1.8)]{.section}
[[16.1.9. Operators `++`{.literal} and
`--`{.literal}](jls-16.html#jls-16.1.9)]{.section}
[[16.1.10. Other Expressions](jls-16.html#jls-16.1.10)]{.section}
[[16.2. Definite Assignment and
Statements](jls-16.html#jls-16.2)]{.section}
[[16.2.1. Empty Statements](jls-16.html#jls-16.2.1)]{.section}
[[16.2.2. Blocks](jls-16.html#jls-16.2.2)]{.section}
[[16.2.3. Local Class Declaration
Statements](jls-16.html#jls-16.2.3)]{.section}
[[16.2.4. Local Variable Declaration
Statements](jls-16.html#jls-16.2.4)]{.section}
[[16.2.5. Labeled Statements](jls-16.html#jls-16.2.5)]{.section}
[[16.2.6. Expression Statements](jls-16.html#jls-16.2.6)]{.section}
[[16.2.7. `if`{.literal} Statements](jls-16.html#jls-16.2.7)]{.section}
[[16.2.8. `assert`{.literal}
Statements](jls-16.html#jls-16.2.8)]{.section}
[[16.2.9. `switch`{.literal}
Statements](jls-16.html#jls-16.2.9)]{.section}
[[16.2.10. `while`{.literal}
Statements](jls-16.html#jls-16.2.10)]{.section}
[[16.2.11. `do`{.literal}
Statements](jls-16.html#jls-16.2.11)]{.section}
[[16.2.12. `for`{.literal}
Statements](jls-16.html#jls-16.2.12)]{.section}
[[16.2.12.1. Initialization Part of `for`{.literal}
Statement](jls-16.html#jls-16.2.12.1)]{.section}
[[16.2.12.2. Incrementation Part of `for`{.literal}
Statement](jls-16.html#jls-16.2.12.2)]{.section}
[[16.2.13. `break`{.literal}, `continue`{.literal}, `return`{.literal},
and `throw`{.literal} Statements](jls-16.html#jls-16.2.13)]{.section}
[[16.2.14. `synchronized`{.literal}
Statements](jls-16.html#jls-16.2.14)]{.section}
[[16.2.15. `try`{.literal}
Statements](jls-16.html#jls-16.2.15)]{.section}
[[16.3. Definite Assignment and
Parameters](jls-16.html#jls-16.3)]{.section}
[[16.4. Definite Assignment and Array
Initializers](jls-16.html#jls-16.4)]{.section}
[[16.5. Definite Assignment and Enum
Constants](jls-16.html#jls-16.5)]{.section}
[[16.6. Definite Assignment and Anonymous
Classes](jls-16.html#jls-16.6)]{.section}
[[16.7. Definite Assignment and Member
Types](jls-16.html#jls-16.7)]{.section}
[[16.8. Definite Assignment and Static
Initializers](jls-16.html#jls-16.8)]{.section}
[[16.9. Definite Assignment, Constructors, and Instance
Initializers](jls-16.html#jls-16.9)]{.section}
[[17. Threads and Locks](jls-17.html)]{.chapter}
[[17.1. Synchronization](jls-17.html#jls-17.1)]{.section}
[[17.2. Wait Sets and Notification](jls-17.html#jls-17.2)]{.section}
[[17.2.1. Wait](jls-17.html#jls-17.2.1)]{.section}
[[17.2.2. Notification](jls-17.html#jls-17.2.2)]{.section}
[[17.2.3. Interruptions](jls-17.html#jls-17.2.3)]{.section}
[[17.2.4. Interactions of Waits, Notification, and
Interruption](jls-17.html#jls-17.2.4)]{.section}
[[17.3. Sleep and Yield](jls-17.html#jls-17.3)]{.section}
[[17.4. Memory Model](jls-17.html#jls-17.4)]{.section}
[[17.4.1. Shared Variables](jls-17.html#jls-17.4.1)]{.section}
[[17.4.2. Actions](jls-17.html#jls-17.4.2)]{.section}
[[17.4.3. Programs and Program Order](jls-17.html#jls-17.4.3)]{.section}
[[17.4.4. Synchronization Order](jls-17.html#jls-17.4.4)]{.section}
[[17.4.5. Happens-before Order](jls-17.html#jls-17.4.5)]{.section}
[[17.4.6. Executions](jls-17.html#jls-17.4.6)]{.section}
[[17.4.7. Well-Formed Executions](jls-17.html#jls-17.4.7)]{.section}
[[17.4.8. Executions and Causality
Requirements](jls-17.html#jls-17.4.8)]{.section}
[[17.4.9. Observable Behavior and Nonterminating
Executions](jls-17.html#jls-17.4.9)]{.section}
[[17.5. `final`{.literal} Field
Semantics](jls-17.html#jls-17.5)]{.section}
[[17.5.1. Semantics of `final`{.literal}
Fields](jls-17.html#jls-17.5.1)]{.section}
[[17.5.2. Reading `final`{.literal} Fields During
Construction](jls-17.html#jls-17.5.2)]{.section}
[[17.5.3. Subsequent Modification of `final`{.literal}
Fields](jls-17.html#jls-17.5.3)]{.section}
[[17.5.4. Write-Protected Fields](jls-17.html#jls-17.5.4)]{.section}
[[17.6. Word Tearing](jls-17.html#jls-17.6)]{.section}
[[17.7. Non-Atomic Treatment of `double`{.literal} and
`long`{.literal}](jls-17.html#jls-17.7)]{.section}
[[18. Type Inference](jls-18.html)]{.chapter}
[[18.1. Concepts and Notation](jls-18.html#jls-18.1)]{.section}
[[18.1.1. Inference Variables](jls-18.html#jls-18.1.1)]{.section}
[[18.1.2. Constraint Formulas](jls-18.html#jls-18.1.2)]{.section}
[[18.1.3. Bounds](jls-18.html#jls-18.1.3)]{.section}
[[18.2. Reduction](jls-18.html#jls-18.2)]{.section}
[[18.2.1. Expression Compatibility
Constraints](jls-18.html#jls-18.2.1)]{.section}
[[18.2.2. Type Compatibility
Constraints](jls-18.html#jls-18.2.2)]{.section}
[[18.2.3. Subtyping Constraints](jls-18.html#jls-18.2.3)]{.section}
[[18.2.4. Type Equality Constraints](jls-18.html#jls-18.2.4)]{.section}
[[18.2.5. Checked Exception
Constraints](jls-18.html#jls-18.2.5)]{.section}
[[18.3. Incorporation](jls-18.html#jls-18.3)]{.section}
[[18.3.1. Complementary Pairs of
Bounds](jls-18.html#jls-18.3.1)]{.section}
[[18.3.2. Bounds Involving Capture
Conversion](jls-18.html#jls-18.3.2)]{.section}
[[18.4. Resolution](jls-18.html#jls-18.4)]{.section}
[[18.5. Uses of Inference](jls-18.html#jls-18.5)]{.section}
[[18.5.1. Invocation Applicability
Inference](jls-18.html#jls-18.5.1)]{.section}
[[18.5.2. Invocation Type Inference](jls-18.html#jls-18.5.2)]{.section}
[[18.5.2.1. Poly Method Invocation
Compatibility](jls-18.html#jls-18.5.2.1)]{.section}
[[18.5.2.2. Additional Argument
Constraints](jls-18.html#jls-18.5.2.2)]{.section}
[[18.5.3. Functional Interface Parameterization
Inference](jls-18.html#jls-18.5.3)]{.section}
[[18.5.4. More Specific Method
Inference](jls-18.html#jls-18.5.4)]{.section}
[[19. Syntax](jls-19.html)]{.chapter}
[[A. Limited License Grant](spec-license.html)]{.appendix}

</div>

<div class="list-of-examples">

**List of Examples**

3.10.5-1. [String Literals](jls-3.html#d5e1653)
4.2.2-1. [Integer Operations](jls-4.html#d5e2055)
4.2.4-1. [Floating-point Operations](jls-4.html#d5e2368)
4.3.1-1. [Object Creation](jls-4.html#d5e2576)
4.3.1-2. [Primitive and Reference Identity](jls-4.html#d5e2618)
4.4-1. [Members of a Type Variable](jls-4.html#d5e2816)
4.5.1-1. [Unbounded Wildcards](jls-4.html#d5e3173)
4.5.1-2. [Bounded Wildcards](jls-4.html#d5e3182)
4.8-1. [Raw Types](jls-4.html#d5e3550)
4.8-2. [Raw Types and Inheritance](jls-4.html#d5e3553)
4.11-1. [Usage of a Type](jls-4.html#d5e4925)
4.12.3-1. [Different Kinds of Variables](jls-4.html#d5e5215)
4.12.4-1. [Final Variables](jls-4.html#d5e5252)
4.12.5-1. [Initial Values of Variables](jls-4.html#d5e5380)
4.12.6-1. [Type of a Variable versus Class of an
Object](jls-4.html#d5e5439)
5.0-1. [Conversions at Compile Time and Run Time](jls-5.html#d5e5510)
5.0-2. [Conversions In Various Contexts](jls-5.html#d5e5589)
5.1.2-1. [Widening Primitive Conversion](jls-5.html#d5e5683)
5.1.3-1. [Narrowing Primitive Conversion](jls-5.html#d5e5828)
5.1.3-2. [Narrowing Primitive Conversions that lose
information](jls-5.html#d5e5851)
5.2-1. [Assignment for Primitive Types](jls-5.html#d5e6994)
5.2-2. [Assignment for Reference Types](jls-5.html#d5e7006)
5.2-3. [Assignment for Array Types](jls-5.html#d5e7011)
5.5-1. [Casting for Reference Types](jls-5.html#d5e7876)
5.5-2. [Casting for Array Types](jls-5.html#d5e7892)
5.5-3. [Casting Incompatible Types at Run Time](jls-5.html#d5e7897)
5.6.1-1. [Unary Numeric Promotion](jls-5.html#d5e7993)
5.6.2-1. [Binary Numeric Promotion](jls-5.html#d5e8062)
6.1-1. [Unique Package Names](jls-6.html#d5e8355)
6.1-2. [Unique Module Names](jls-6.html#d5e8377)
6.1-3. [Descriptive Class Names](jls-6.html#d5e8391)
6.1-4. [Conventional Type Variable Names](jls-6.html#d5e8416)
6.3-1. [Scope of Type Declarations](jls-6.html#d5e8782)
6.3-2. [Scope of Local Variable Declarations](jls-6.html#d5e8792)
6.4-1. [Attempted Shadowing Of A Local Variable](jls-6.html#d5e8852)
6.4.1-1. [Shadowing of a Field Declaration by a Local Variable
Declaration](jls-6.html#d5e8965)
6.4.1-2. [Shadowing of a Type Declaration by Another Type
Declaration](jls-6.html#d5e9027)
6.5.2-1. [Reclassification of Contextually Ambiguous
Names](jls-6.html#d5e9553)
6.5.5.2-1. [Qualified Type Names](jls-6.html#d5e9681)
6.5.6.1-1. [Simple Expression Names](jls-6.html#d5e9712)
6.5.6.2-1. [Qualified Expression Names](jls-6.html#d5e9822)
6.5.6.2-2. [Qualifying an Expression with a Type
Name](jls-6.html#d5e9830)
6.5.7.1-1. [Simple Method Names](jls-6.html#d5e9854)
6.6-1. [Access Control](jls-6.html#d5e9971)
6.6-2. [Access to `public`{.literal} Fields, Methods, and
Constructors](jls-6.html#d5e10010)
6.6-3. [Access to `public`{.literal} and Non-`public`{.literal}
Classes](jls-6.html#d5e10029)
6.6-4. [Access to Package-Access Fields, Methods, and
Constructors](jls-6.html#d5e10050)
6.6-5. [Access to `private`{.literal} Fields, Methods, and
Constructors](jls-6.html#d5e10085)
6.6.2-1. [Access to `protected`{.literal} Fields, Methods, and
Constructors](jls-6.html#d5e10211)
6.7-1. [Fully Qualified Names](jls-6.html#d5e10324)
6.7-2. [Fully Qualified Names v. Canonical Name](jls-6.html#d5e10366)
7.4.2-1. [Unnamed Package](jls-7.html#d5e10696)
7.5.1-1. [Single-Type-Import](jls-7.html#d5e10822)
7.5.1-2. [Duplicate Type Declarations](jls-7.html#d5e10839)
7.5.1-3. [No Import of a Subpackage](jls-7.html#d5e10849)
7.5.1-4. [Importing a Type Name that is also a Package
Name](jls-7.html#d5e10858)
7.5.2-1. [Type-Import-on-Demand](jls-7.html#d5e10905)
7.6-1. [Conflicting Top Level Type Declarations](jls-7.html#d5e11021)
7.6-2. [Scope of Top Level Types](jls-7.html#d5e11037)
7.6-3. [Fully Qualified Names](jls-7.html#d5e11044)
7.1.1-1. [Resolution of `requires`{.literal} `transitive`{.literal}
directives](jls-7.html#d5e11247)
8.1.1.1-1. [Abstract Class Declaration](jls-8.html#d5e11651)
8.1.1.1-2. [Abstract Class Declaration that Prohibits
Subclasses](jls-8.html#d5e11683)
8.1.2-1. [Mutually Recursive Type Variable Bounds](jls-8.html#d5e11810)
8.1.2-2. [Nested Generic Classes](jls-8.html#d5e11813)
8.1.3-1. [Inner Class Declarations and Static
Members](jls-8.html#d5e11837)
8.1.3-2. [Inner Class Declarations](jls-8.html#d5e11911)
8.1.4-1. [Direct Superclasses and Subclasses](jls-8.html#d5e12064)
8.1.4-2. [Superclasses and Subclasses](jls-8.html#d5e12088)
8.1.4-3. [Class Depends on Itself](jls-8.html#d5e12149)
8.1.5-1. [Illegal Superinterfaces](jls-8.html#d5e12178)
8.1.5-2. [Superinterfaces](jls-8.html#d5e12290)
8.1.5-3. [Illegal Multiple Inheritance of an
Interface](jls-8.html#d5e12316)
8.1.5-3. [Implementing Methods of a Superinterface](jls-8.html#d5e12335)
8.2-1. [Use of Class Members](jls-8.html#d5e12446)
8.2-2. [Inheritance of Class Members with Package
Access](jls-8.html#d5e12475)
8.2-3. [Inheritance of `public`{.literal} and `protected`{.literal}
Class Members](jls-8.html#d5e12506)
8.2-4. [Inheritance of `private`{.literal} Class
Members](jls-8.html#d5e12523)
8.2-5. [Accessing Members of Inaccessible Classes](jls-8.html#d5e12533)
8.3-1. [Multiply Inherited Fields](jls-8.html#d5e12735)
8.3-2. [Re-inheritance of Fields](jls-8.html#d5e12768)
8.3.1.1-1. [`static`{.literal} Fields](jls-8.html#d5e12820)
8.3.1.1-2. [Hiding of Class Variables](jls-8.html#d5e12848)
8.3.1.1-3. [Hiding of Instance Variables](jls-8.html#d5e12882)
8.3.1.3-1. [Persistence of `transient`{.literal}
Fields](jls-8.html#d5e12964)
8.3.1.4-1. [`volatile`{.literal} Fields](jls-8.html#d5e12987)
8.3.2-1. [Field Initialization](jls-8.html#d5e13094)
8.3.2-2. [Forward Reference to a Class Variable](jls-8.html#d5e13103)
8.3.3-1. [Restrictions on Field References](jls-8.html#d5e13156)
8.4.2-1. [Override-Equivalent Signatures](jls-8.html#d5e13420)
8.4.3.1-1. [Abstract/Abstract Method Overriding](jls-8.html#d5e13504)
8.4.3.1-2. [Abstract/Non-Abstract Overriding](jls-8.html#d5e13513)
8.4.3.6-1. [`synchronized`{.literal} Monitors](jls-8.html#d5e13622)
8.4.3.6-2. [`synchronized`{.literal} Methods](jls-8.html#d5e13632)
8.4.6-1. [Type Variables as Thrown Exception Types](jls-8.html#d5e13843)
8.4.8-1. [Inheritance](jls-8.html#d5e13958)
8.4.8.1-1. [Overriding](jls-8.html#d5e14155)
8.4.8.1-2. [Overriding](jls-8.html#d5e14168)
8.4.8.2-1. [Invocation of Hidden Class Methods](jls-8.html#d5e14242)
8.4.8.3-1. [Covariant Return Types](jls-8.html#d5e14384)
8.4.8.3-2. [Unchecked Warning from Return Type](jls-8.html#d5e14389)
8.4.8.3-3. [Incorrect Overriding because of
`throws`{.literal}](jls-8.html#d5e14405)
8.4.8.3-4. [Erasure Affects Overriding](jls-8.html#d5e14427)
8.4.9-1. [Overloading](jls-8.html#d5e14512)
8.4.9-2. [Overloading, Overriding, and Hiding](jls-8.html#d5e14538)
8.8-1. [Constructor Declarations](jls-8.html#d5e14766)
8.8.7-1. [Constructor Bodies](jls-8.html#d5e14898)
8.8.7.1-1. [Restrictions on Explicit Constructor Invocation
Statements](jls-8.html#d5e15084)
8.8.7.1-2. [Qualified Superclass Constructor
Invocation](jls-8.html#d5e15092)
8.8.9-1. [Default Constructors](jls-8.html#d5e15156)
8.8.9-2. [Accessibility of Constructors v. Classes](jls-8.html#d5e15166)
8.8.10-1. [Preventing Instantiation via Constructor
Accessibility](jls-8.html#d5e15197)
8.9.2-1. [Enum Body Declarations](jls-8.html#d5e15366)
8.9.2-2. [Restriction On Enum Constant
Self-Reference](jls-8.html#d5e15371)
8.9.3-1. [Iterating Over Enum Constants With An Enhanced `for`{.literal}
Loop](jls-8.html#d5e15427)
8.9.3-2. [Switching Over Enum Constants](jls-8.html#d5e15433)
8.9.3-3. [Enum Constants with Class Bodies](jls-8.html#d5e15444)
8.9.3-4. [Multiple Enum Types](jls-8.html#d5e15452)
9.3-1. [Ambiguous Inherited Fields](jls-9.html#d5e15897)
9.3-2. [Multiply Inherited Fields](jls-9.html#d5e15912)
9.3.1-1. [Forward Reference to a Field](jls-9.html#d5e15945)
9.4.2-1. [Overloading an `abstract`{.literal} Method
Declaration](jls-9.html#d5e16240)
9.6.1-1. [Annotation Type Declaration](jls-9.html#d5e16422)
9.6.1-2. [Marker Annotation Type Declaration](jls-9.html#d5e16426)
9.6.1-3. [Single-Element Annotation Type
Declarations](jls-9.html#d5e16430)
9.6.2-1. [Annotation Type Declaration With Default
Values](jls-9.html#d5e16460)
9.6.3-1. [Ill-formed Containing Annotation Type](jls-9.html#d5e16593)
9.6.3-2. [Restricting Where Annotations May Repeat](jls-9.html#d5e16634)
9.6.3-3. [A Repeatable Containing Annotation Type](jls-9.html#d5e16694)
9.7.1-1. [Normal Annotations](jls-9.html#d5e17292)
9.7.2-1. [Marker Annotations](jls-9.html#d5e17316)
9.7.3-1. [Single-Element Annotations](jls-9.html#d5e17343)
9.8-1. [Functional Interfaces](jls-9.html#d5e17684)
9.8-2. [Functional Interfaces and Erasure](jls-9.html#d5e17708)
9.8-3. [Generic Functional Interfaces](jls-9.html#d5e17746)
9.9-1. [Function Types](jls-9.html#d5e18036)
9.9-2. [Generic Function Types](jls-9.html#d5e18083)
10.2-1. [Declarations of Array Variables](jls-10.html#d5e18168)
10.2-2. [Array Variables and Array Types](jls-10.html#d5e18201)
10.4-1. [Array Access](jls-10.html#d5e18255)
10.5-1. [`ArrayStoreException`{.literal}](jls-10.html#d5e18295)
10.6-1. [Array Initializers](jls-10.html#d5e18370)
10.7-1. [Arrays Are Cloneable](jls-10.html#d5e18415)
10.7-2. [Shared Subarrays After A Clone](jls-10.html#d5e18423)
10.8-1. [`Class`{.literal} Object Of Array](jls-10.html#d5e18449)
10.8-2. [Array `Class`{.literal} Objects Are
Shared](jls-10.html#d5e18459)
11.2.3-1. [Catching Checked Exceptions](jls-11.html#d5e18882)
11.3-1. [Throwing and Catching Exceptions](jls-11.html#d5e18976)
12.4.1-1. [Superclasses Are Initialized Before
Subclasses](jls-12.html#d5e19299)
12.4.1-2. [Only The Class That Declares `static`{.literal} Field Is
Initialized](jls-12.html#d5e19308)
12.4.1-3. [Interface Initialization Does Not Initialize
Superinterfaces](jls-12.html#d5e19319)
12.5-1. [Evaluation of Instance Creation](jls-12.html#d5e19540)
12.5-2. [Dynamic Dispatch During Instance
Creation](jls-12.html#d5e19581)
13.4.4-1. [Changing A Superclass](jls-13.html#d5e20402)
13.4.6-1. [Changing A Class Body](jls-13.html#d5e20453)
13.4.6-2. [Changing A Superclass](jls-13.html#d5e20477)
13.4.7-1. [Changing Accessibility](jls-13.html#d5e20502)
13.4.8-1. [Adding A Field Declaration](jls-13.html#d5e20554)
13.4.9-1. [Changing A Variable To Be
`final`{.literal}](jls-13.html#d5e20607)
13.4.16-1. [Changing A Method To Be
`abstract`{.literal}](jls-13.html#d5e20741)
13.4.17-1. [Changing A Method To Be
`final`{.literal}](jls-13.html#d5e20767)
13.4.23-1. [Adding An Overloaded Method](jls-13.html#d5e20823)
13.5.3-1. [Deleting An Interface Member](jls-13.html#d5e20884)
13.5.6-1. [Adding A Default Method](jls-13.html#d5e20933)
14.3-1. [Local Class Declarations](jls-14.html#d5e21079)
14.4-1. [Local Variables Declared With
`var`{.literal}](jls-14.html#d5e21166)
14.4.1-1. [Type of Local Variables Declared With
`var`{.literal}](jls-14.html#d5e21212)
14.7-1. [Labels and Identifiers](jls-14.html#d5e21356)
14.11-1. [Fall-Through in the `switch`{.literal}
Statement](jls-14.html#d5e21826)
14.13-1. [The `do`{.literal} Statement](jls-14.html#d5e22064)
14.14-1. [Enhanced `for`{.literal} And Arrays](jls-14.html#d5e22484)
14.14-2. [Enhanced `for`{.literal} And Unboxing
Conversion](jls-14.html#d5e22490)
14.15-1. [The `break`{.literal} Statement](jls-14.html#d5e22555)
14.16-1. [The `continue`{.literal} Statement](jls-14.html#d5e22662)
14.19-1. [The `synchronized`{.literal} Statement](jls-14.html#d5e22941)
14.20.1-1. [Catching An Exception](jls-14.html#d5e23227)
14.20.2-1. [Handling An Uncaught Exception With
`finally`{.literal}](jls-14.html#d5e23355)
14.21-1. [Conditional Compilation](jls-14.html#d5e24044)
15.7.1-1. [Left-Hand Operand Is Evaluated First](jls-15.html#d5e24369)
15.7.1-2. [Implicit Left-Hand Operand In Operator Of Compound
Assigment](jls-15.html#d5e24380)
15.7.1-3. [Abrupt Completion of Evaluation of the Left-Hand
Operand](jls-15.html#d5e24394)
15.7.2-1. [Evaluation of Operands Before
Operation](jls-15.html#d5e24416)
15.7.4-1. [Evaluation Order At Method Invocation](jls-15.html#d5e24462)
15.7.4-2. [Abrupt Completion of Argument
Expression](jls-15.html#d5e24471)
15.8.3-1. [The `this`{.literal} Expression](jls-15.html#d5e24731)
15.9.4-1. [Evaluation Order and Out-Of-Memory
Detection](jls-15.html#d5e25450)
15.10.2-1. [Array Creation Evaluation](jls-15.html#d5e25637)
15.10.2-2. [Multi-Dimensional Array Creation](jls-15.html#d5e25654)
15.10.2-3. [`OutOfMemoryError`{.literal} and Dimension Expression
Evaluation](jls-15.html#d5e25699)
15.10.4-1. [Array Reference Is Evaluated First](jls-15.html#d5e25764)
15.10.4-2. [Abrupt Completion of Array Reference
Evaluation](jls-15.html#d5e25784)
15.10.4-3. [`null`{.literal} Array Reference](jls-15.html#d5e25793)
15.11.1-1. [Static Binding for Field Access](jls-15.html#d5e25904)
15.11.1-2. [Receiver Variable Is Irrelevant For `static`{.literal} Field
Access](jls-15.html#d5e25938)
15.11.2-1. [The `super`{.literal} Expression](jls-15.html#d5e26040)
15.12.2-1. [Method Applicability](jls-15.html#d5e26322)
15.12.2-2. [Return Type Not Considered During Method
Selection](jls-15.html#d5e26369)
15.12.2-3. [Choosing The Most Specific Method](jls-15.html#d5e26380)
15.12.4.1-1. [Target References and `static`{.literal}
Methods](jls-15.html#d5e27655)
15.12.4.1-2. [Evaluation Order During Method
Invocation](jls-15.html#d5e27668)
15.12.4.4-1. [Overriding and Method Invocation](jls-15.html#d5e27987)
15.12.4.4-2. [Method Invocation Using
`super`{.literal}](jls-15.html#d5e28015)
15.12.4.5-1. [Invoked Method Signature Has Different Erasure Than
Compile-Time Method Signature](jls-15.html#d5e28064)
15.17.3-1. [Integer Remainder Operator](jls-15.html#d5e29311)
15.17.3-2. [Floating-Point Remainder Operator](jls-15.html#d5e29354)
15.18.1-1. [String Concatenation](jls-15.html#d5e29403)
15.18.1-2. [String Concatenation and Conditionals](jls-15.html#d5e29422)
15.20.2-1. [The `instanceof`{.literal} Operator](jls-15.html#d5e29775)
15.26.1-1. [Simple Assignment To An Array
Component](jls-15.html#d5e31843)
15.26.2-1. [Compound Assignment To An Array
Component](jls-15.html#d5e31932)
15.26.2-2. [Value Of Left-Hand Side Of Compound Assignment Is Saved
Before Evaluation Of Right-Hand Side](jls-15.html#d5e31940)
15.28-1. [Constant Expressions](jls-15.html#d5e32433)
16-1. [Definite Assignment Considers Structure of Statements and
Expressions](jls-16.html#d5e32472)
16-2. [Definite Assignment Does Not Consider Values of
Expressions](jls-16.html#d5e32498)
16-3. [Definite Unassignment](jls-16.html#d5e32517)
17.4-1. [Incorrectly Synchronized Programs May Exhibit Surprising
Behavior](jls-17.html#d5e34621)
17.4.5-1. [Happens-before Consistency](jls-17.html#d5e35094)
17.4.8-1. [Happens-before Consistency Is Not
Sufficient](jls-17.html#d5e35519)
17.5-1. [`final`{.literal} Fields In The Java Memory
Model](jls-17.html#d5e35661)
17.5-2. [`final`{.literal} Fields For Security](jls-17.html#d5e35688)
17.5.3-1. [Aggressive Optimization of `final`{.literal}
Fields](jls-17.html#d5e35828)
17.6-1. [Detection of Word Tearing](jls-17.html#d5e35890)

</div>

</div>

<div class="navfooter">

------------------------------------------------------------------------

  --- --- --------------------------
           [Next](jls-1.html)
           Chapter 1. Introduction
  --- --- --------------------------

</div>

<div class="navfooter" fo="http://www.w3.org/1999/XSL/Format"
rx="http://www.renderx.com/XSL/Extensions">

------------------------------------------------------------------------

[Legal Notice](spec-frontmatter.html)

</div>

以上是关于markdown test2.md的主要内容,如果未能解决你的问题,请参考以下文章

markdown转换为图片

转换rst到markdown总结

markdown [Markdown HowTo]作为Markdown语法的秘籍

python markdown干啥用的

markdown前端渲染

如何用markdown生成目录