<html>
<head>
<title> </title>
</head>
<body BGCOLOR=#eeeeff text=#000000 LINK=#0000ff VLINK=#000077 ALINK=#ff0000>

<table border="0" width="100%">
<tr>
<td><a href="jTOC.doc.html">Contents</a> | <a href="j.title.doc.html">Prev</a> | <a href="j.preface.doc.html">Next</a> | <a href="jIX.fm.html">Index</a></td>
<td align=right><i>Java Language Specification</i><br>
<font size="-1">Second Edition</font></td></tr></table>
<hr><br>

<h2>Table of Contents</h2>
<dl>

</a><a href="j.preface.doc.html">
<dt><dd> Preface
</a><a href="j.preface2.html">
<dt><dd> Preface to the Second Edition
</a></dl>
<a href="intro.doc.html#22191">
<H2>    1        Introduction    </H2>
</a><dl>
<a href="intro.doc.html#11484">
<dt><dd>1.1      Example Programs
</a><a href="intro.doc.html#11506">
<dt><dd>1.2      Notation
</a><a href="intro.doc.html#248104">
<dt><dd>1.3      Relationship to Predefined Classes and Interfaces
</a><a href="intro.doc.html#247980">
<dt><dd>1.4      References
</a></dl>
<a href="grammars.doc.html#44271">
<H2>    2        Grammars        </H2>
</a><dl>
<a href="grammars.doc.html#40415">
<dt><dd>2.1      Context-Free Grammars
</a><a href="grammars.doc.html#149412">
<dt><dd>2.2      The Lexical Grammar
</a><a href="grammars.doc.html#151185">
<dt><dd>2.3      The Syntactic Grammar
</a><a href="grammars.doc.html#90767">
<dt><dd>2.4      Grammar Notation
</a></dl>
<a href="lexical.doc.html#44591">
<H2>    3        Lexical Structure       </H2>
</a><dl>
<a href="lexical.doc.html#95413">
<dt><dd>3.1      Unicode
</a><a href="lexical.doc.html#95504">
<dt><dd>3.2      Lexical Translations
</a><a href="lexical.doc.html#100850">
<dt><dd>3.3      Unicode Escapes
</a><a href="lexical.doc.html#231571">
<dt><dd>3.4      Line Terminators
</a><a href="lexical.doc.html#25687">
<dt><dd>3.5      Input Elements and Tokens
</a><a href="lexical.doc.html#95710">
<dt><dd>3.6      White Space
</a><a href="lexical.doc.html#48125">
<dt><dd>3.7      Comments
</a><a href="lexical.doc.html#40625">
<dt><dd>3.8      Identifiers
</a><a href="lexical.doc.html#229308">
<dt><dd>3.9      Keywords
</a><a href="lexical.doc.html#48272">
<dt><dd>3.10     Literals
</a><dl>
<a href="lexical.doc.html#48282">
<dt><dd>3.10.1   Integer Literals
</a><a href="lexical.doc.html#230798">
<dt><dd>3.10.2   Floating-Point Literals
</a><a href="lexical.doc.html#49652">
<dt><dd>3.10.3   Boolean Literals
</a><a href="lexical.doc.html#100960">
<dt><dd>3.10.4   Character Literals
</a><a href="lexical.doc.html#101083">
<dt><dd>3.10.5   String Literals
</a><a href="lexical.doc.html#101089">
<dt><dd>3.10.6   Escape Sequences for Character and String Literals
</a><a href="lexical.doc.html#230717">
<dt><dd>3.10.7   The Null Literal
</a></dl>
<a href="lexical.doc.html#230752">
<dt><dd>3.11     Separators
</a><a href="lexical.doc.html#230663">
<dt><dd>3.12     Operators
</a></dl>
<a href="typesValues.doc.html#48440">
<H2>    4        Types, Values, and Variables    </H2>
</a><dl>
<a href="typesValues.doc.html#11128">
<dt><dd>4.1      The Kinds of Types and Values
</a><a href="typesValues.doc.html#85587">
<dt><dd>4.2      Primitive Types and Values
</a><dl>
<a href="typesValues.doc.html#9151">
<dt><dd>4.2.1    Integral Types and Values
</a><a href="typesValues.doc.html#51035">
<dt><dd>4.2.2    Integer Operations
</a><a href="typesValues.doc.html#9208">
<dt><dd>4.2.3    Floating-Point Types, Formats, and Values
</a><a href="typesValues.doc.html#9249">
<dt><dd>4.2.4    Floating-Point Operations
</a><a href="typesValues.doc.html#11527">
<dt><dd>4.2.5    The boolean Type and boolean Values
</a></dl>
<a href="typesValues.doc.html#9317">
<dt><dd>4.3      Reference Types and Values
</a><dl>
<a href="typesValues.doc.html#12028">
<dt><dd>4.3.1    Objects
</a><a href="typesValues.doc.html#11055">
<dt><dd>4.3.2    The Class Object
</a><a href="typesValues.doc.html#26992">
<dt><dd>4.3.3    The Class String
</a><a href="typesValues.doc.html#97058">
<dt><dd>4.3.4    When Reference Types Are the Same
</a></dl>
<a href="typesValues.doc.html#25948">
<dt><dd>4.4      Where Types Are Used
</a><a href="typesValues.doc.html#18470">
<dt><dd>4.5      Variables
</a><dl>
<a href="typesValues.doc.html#28344">
<dt><dd>4.5.1    Variables of Primitive Type
</a><a href="typesValues.doc.html#28345">
<dt><dd>4.5.2    Variables of Reference Type
</a><a href="typesValues.doc.html#28536">
<dt><dd>4.5.3    Kinds of Variables
</a><a href="typesValues.doc.html#10931">
<dt><dd>4.5.4    final Variables
</a><a href="typesValues.doc.html#96595">
<dt><dd>4.5.5    Initial Values of Variables
</a><a href="typesValues.doc.html#24887">
<dt><dd>4.5.6    Types, Classes, and Interfaces
</a></dl>
</dl>
<a href="conversions.doc.html#27529">
<H2>    5        Conversions and Promotions      </H2>
</a><dl>
<a href="conversions.doc.html#189955">
<dt><dd>5.1      Kinds of Conversion
</a><dl>
<a href="conversions.doc.html#25209">
<dt><dd>5.1.1    Identity Conversions
</a><a href="conversions.doc.html#25214">
<dt><dd>5.1.2    Widening Primitive Conversion
</a><a href="conversions.doc.html#25363">
<dt><dd>5.1.3    Narrowing Primitive Conversions
</a><a href="conversions.doc.html#25215">
<dt><dd>5.1.4    Widening Reference Conversions
</a><a href="conversions.doc.html#25379">
<dt><dd>5.1.5    Narrowing Reference Conversions
</a><a href="conversions.doc.html#176886">
<dt><dd>5.1.6    String Conversions
</a><a href="conversions.doc.html#175034">
<dt><dd>5.1.7    Forbidden Conversions
</a><a href="conversions.doc.html#184225">
<dt><dd>5.1.8    Value Set Conversion
</a></dl>
<a href="conversions.doc.html#184206">
<dt><dd>5.2      Assignment Conversion
</a><a href="conversions.doc.html#12687">
<dt><dd>5.3      Method Invocation Conversion
</a><a href="conversions.doc.html#186035">
<dt><dd>5.4      String Conversion
</a><a href="conversions.doc.html#20232">
<dt><dd>5.5      Casting Conversion
</a><a href="conversions.doc.html#26917">
<dt><dd>5.6      Numeric Promotions
</a><dl>
<a href="conversions.doc.html#170952">
<dt><dd>5.6.1    Unary Numeric Promotion
</a><a href="conversions.doc.html#170983">
<dt><dd>5.6.2    Binary Numeric Promotion
</a></dl>
</dl>
<a href="names.doc.html#44352">
<H2>    6        Names   </H2>
</a><dl>
<a href="names.doc.html#33757">
<dt><dd>6.1      Declarations
</a><a href="names.doc.html#31692">
<dt><dd>6.2      Names and Identifiers
</a><a href="names.doc.html#103228">
<dt><dd>6.3      Scope of a Declaration
</a><dl>
<a href="names.doc.html#34133">
<dt><dd>6.3.1    Shadowing Declarations
</a><a href="names.doc.html#104058">
<dt><dd>6.3.2    Obscured Declarations
</a></dl>
<a href="names.doc.html#106443">
<dt><dd>6.4      Members and Inheritance
</a><dl>
<a href="names.doc.html#34993">
<dt><dd>6.4.1    The Members of a Package
</a><a href="names.doc.html#34757">
<dt><dd>6.4.2    The Members of a Class Type
</a><a href="names.doc.html#34849">
<dt><dd>6.4.3    The Members of an Interface Type
</a><a href="names.doc.html#27725">
<dt><dd>6.4.4    The Members of an Array Type
</a></dl>
<a href="names.doc.html#106941">
<dt><dd>6.5      Determining the Meaning of a Name
</a><dl>
<a href="names.doc.html#32740">
<dt><dd>6.5.1    Syntactic Classification of a Name According to Context
</a><a href="names.doc.html#32725">
<dt><dd>6.5.2    Reclassification of Contextually Ambiguous Names
</a><a href="names.doc.html#22349">
<dt><dd>6.5.3    Meaning of Package Names
</a><dl>
<a href="names.doc.html#22481">
<dt><dd>6.5.3.1  Simple Package Names
</a><a href="names.doc.html#22482">
<dt><dd>6.5.3.2  Qualified Package Names
</a></dl>
<a href="names.doc.html#21721">
<dt><dd>6.5.4    Meaning of PackageOrTypeNames
</a><dl>
<a href="names.doc.html#73065">
<dt><dd>6.5.4.1  Simple PackageOrTypeNames
</a><a href="names.doc.html#73067">
<dt><dd>6.5.4.2  Qualified PackageOrTypeNames
</a></dl>
<a href="names.doc.html#73064">
<dt><dd>6.5.5    Meaning of Type Names
</a><dl>
<a href="names.doc.html#21810">
<dt><dd>6.5.5.1  Simple Type Names
</a><a href="names.doc.html#21811">
<dt><dd>6.5.5.2  Qualified Type Names
</a></dl>
<a href="names.doc.html#21650">
<dt><dd>6.5.6    Meaning of Expression Names
</a><dl>
<a href="names.doc.html#22022">
<dt><dd>6.5.6.1  Simple Expression Names
</a><a href="names.doc.html#22133">
<dt><dd>6.5.6.2  Qualified Expression Names
</a></dl>
<a href="names.doc.html#21652">
<dt><dd>6.5.7    Meaning of Method Names
</a><dl>
<a href="names.doc.html#54512">
<dt><dd>6.5.7.1  Simple Method Names
</a><a href="names.doc.html#54547">
<dt><dd>6.5.7.2  Qualified Method Names
</a></dl>
</dl>
<a href="names.doc.html#104285">
<dt><dd>6.6      Access Control
</a><dl>
<a href="names.doc.html#102765">
<dt><dd>6.6.1    Determining Accessibility
</a><a href="names.doc.html#62587">
<dt><dd>6.6.2    Details on protected Access
</a><dl>
<a href="names.doc.html#60602">
<dt><dd>6.6.2.1  Access to a protected Member
</a><a href="names.doc.html#72728">
<dt><dd>6.6.2.2  Qualified Access to a protected Constructor
</a></dl>
<a href="names.doc.html#62666">
<dt><dd>6.6.3    An Example of Access Control
</a><a href="names.doc.html#36060">
<dt><dd>6.6.4    Example: Access to public and Non-public Classes
</a><a href="names.doc.html#36154">
<dt><dd>6.6.5    Example: Default-Access Fields, Methods, and Constructors
</a><a href="names.doc.html#36250">
<dt><dd>6.6.6    Example: public Fields, Methods, and Constructors
</a><a href="names.doc.html#36191">
<dt><dd>6.6.7    Example: protected Fields, Methods, and Constructors
</a><a href="names.doc.html#36233">
<dt><dd>6.6.8    Example: private Fields, Methods, and Constructors
</a></dl>
<a href="names.doc.html#25430">
<dt><dd>6.7      Fully Qualified Names and Canonical Names
</a><a href="names.doc.html#73307">
<dt><dd>6.8      Naming Conventions
</a><dl>
<a href="names.doc.html#9184">
<dt><dd>6.8.1    Package Names
</a><a href="names.doc.html#29466">
<dt><dd>6.8.2    Class and Interface Type Names
</a><a href="names.doc.html#9322">
<dt><dd>6.8.3    Method Names
</a><a href="names.doc.html#9351">
<dt><dd>6.8.4    Field Names
</a><a href="names.doc.html#9367">
<dt><dd>6.8.5    Constant Names
</a><a href="names.doc.html#62552">
<dt><dd>6.8.6    Local Variable and Parameter Names
</a></dl>
</dl>
<a href="packages.doc.html#60384">
<H2>    7        Packages        </H2>
</a><dl>
<a href="packages.doc.html#26535">
<dt><dd>7.1      Package Members
</a><a href="packages.doc.html#37758">
<dt><dd>7.2      Host Support for Packages
</a><dl>
<a href="packages.doc.html#37546">
<dt><dd>7.2.1    Storing Packages in a File System
</a><a href="packages.doc.html#37739">
<dt><dd>7.2.2    Storing Packages in a Database
</a></dl>
<a href="packages.doc.html#40031">
<dt><dd>7.3      Compilation Units
</a><a href="packages.doc.html#26619">
<dt><dd>7.4      Package Declarations
</a><dl>
<a href="packages.doc.html#26621">
<dt><dd>7.4.1    Named Packages
</a><a href="packages.doc.html#26639">
<dt><dd>7.4.2    Unnamed Packages
</a><a href="packages.doc.html#13180">
<dt><dd>7.4.3    Observability of a Package
</a><a href="packages.doc.html#70172">
<dt><dd>7.4.4    Scope of a Package Declaration
</a></dl>
<a href="packages.doc.html#70209">
<dt><dd>7.5      Import Declarations
</a><dl>
<a href="packages.doc.html#26699">
<dt><dd>7.5.1    Single-Type-Import Declaration
</a><a href="packages.doc.html#26725">
<dt><dd>7.5.2    Type-Import-on-Demand Declaration
</a><a href="packages.doc.html#26741">
<dt><dd>7.5.3    Automatic Imports
</a><a href="packages.doc.html#24151">
<dt><dd>7.5.4    A Strange Example
</a></dl>
<a href="packages.doc.html#26783">
<dt><dd>7.6      Top Level Type Declarations
</a><a href="packages.doc.html#40169">
<dt><dd>7.7      Unique Package Names
</a></dl>
<a href="classes.doc.html#44365">
<H2>    8        Classes         </H2>
</a><dl>
<a href="classes.doc.html#15372">
<dt><dd>8.1      Class Declaration
</a><dl>
<a href="classes.doc.html#21613">
<dt><dd>8.1.1    Class Modifiers
</a><dl>
<a href="classes.doc.html#34944">
<dt><dd>8.1.1.1  abstract Classes
</a><a href="classes.doc.html#54727">
<dt><dd>8.1.1.2  final Classes
</a><a href="classes.doc.html#251946">
<dt><dd>8.1.1.3  strictfp Classes
</a></dl>
<a href="classes.doc.html#262890">
<dt><dd>8.1.2    Inner Classes and Enclosing Instances
</a><a href="classes.doc.html#262560">
<dt><dd>8.1.3    Superclasses and Subclasses
</a><a href="classes.doc.html#34031">
<dt><dd>8.1.4    Superinterfaces
</a><a href="classes.doc.html#18988">
<dt><dd>8.1.5    Class Body and Member Declarations
</a></dl>
<a href="classes.doc.html#21831">
<dt><dd>8.2      Class Members
</a><dl>
<a href="classes.doc.html#30229">
<dt><dd>8.2.1    Examples of Inheritance
</a><dl>
<a href="classes.doc.html#40830">
<dt><dd>8.2.1.1  Example: Inheritance with Default Access
</a><a href="classes.doc.html#40862">
<dt><dd>8.2.1.2  Inheritance with public and protected
</a><a href="classes.doc.html#40879">
<dt><dd>8.2.1.3  Inheritance with private
</a><a href="classes.doc.html#23530">
<dt><dd>8.2.1.4  Accessing Members of Inaccessible Classes
</a></dl>
</dl>
<a href="classes.doc.html#40898">
<dt><dd>8.3      Field Declarations
</a><dl>
<a href="classes.doc.html#78091">
<dt><dd>8.3.1    Field Modifiers
</a><dl>
<a href="classes.doc.html#37544">
<dt><dd>8.3.1.1  static Fields
</a><a href="classes.doc.html#35962">
<dt><dd>8.3.1.2  final Fields
</a><a href="classes.doc.html#78119">
<dt><dd>8.3.1.3  transient Fields
</a><a href="classes.doc.html#36930">
<dt><dd>8.3.1.4  volatile Fields
</a></dl>
<a href="classes.doc.html#24510">
<dt><dd>8.3.2    Initialization of Fields
</a><dl>
<a href="classes.doc.html#38010">
<dt><dd>8.3.2.1  Initializers for Class Variables
</a><a href="classes.doc.html#38013">
<dt><dd>8.3.2.2  Initializers for Instance Variables
</a><a href="classes.doc.html#287406">
<dt><dd>8.3.2.3  Restrictions on the use of Fields during Initialization
</a></dl>
<a href="classes.doc.html#40425">
<dt><dd>8.3.3    Examples of Field Declarations
</a><dl>
<a href="classes.doc.html#40428">
<dt><dd>8.3.3.1  Example: Hiding of Class Variables
</a><a href="classes.doc.html#229119">
<dt><dd>8.3.3.2  Example: Hiding of Instance Variables
</a><a href="classes.doc.html#40491">
<dt><dd>8.3.3.3  Example: Multiply Inherited Fields
</a><a href="classes.doc.html#40528">
<dt><dd>8.3.3.4  Example: Re-inheritance of Fields
</a></dl>
</dl>
<a href="classes.doc.html#40420">
<dt><dd>8.4      Method Declarations
</a><dl>
<a href="classes.doc.html#38698">
<dt><dd>8.4.1    Formal Parameters
</a><a href="classes.doc.html#38649">
<dt><dd>8.4.2    Method Signature
</a><a href="classes.doc.html#78188">
<dt><dd>8.4.3    Method Modifiers
</a><dl>
<a href="classes.doc.html#34484">
<dt><dd>8.4.3.1  abstract Methods
</a><a href="classes.doc.html#229128">
<dt><dd>8.4.3.2  static Methods
</a><a href="classes.doc.html#11246">
<dt><dd>8.4.3.3  final Methods
</a><a href="classes.doc.html#31125">
<dt><dd>8.4.3.4  native Methods
</a><a href="classes.doc.html#55408">
<dt><dd>8.4.3.5  strictfp Methods
</a><a href="classes.doc.html#260369">
<dt><dd>8.4.3.6  synchronized Methods
</a></dl>
<a href="classes.doc.html#78323">
<dt><dd>8.4.4    Method Throws
</a><a href="classes.doc.html#37316">
<dt><dd>8.4.5    Method Body
</a><a href="classes.doc.html#228745">
<dt><dd>8.4.6    Inheritance, Overriding, and Hiding
</a><dl>
<a href="classes.doc.html#227927">
<dt><dd>8.4.6.1  Overriding (by Instance Methods)
</a><a href="classes.doc.html#227928">
<dt><dd>8.4.6.2  Hiding (by Class Methods)
</a><a href="classes.doc.html#227965">
<dt><dd>8.4.6.3  Requirements in Overriding and Hiding
</a><a href="classes.doc.html#227941">
<dt><dd>8.4.6.4  Inheriting Methods with the Same Signature
</a></dl>
<a href="classes.doc.html#227768">
<dt><dd>8.4.7    Overloading
</a><a href="classes.doc.html#39598">
<dt><dd>8.4.8    Examples of Method Declarations
</a><dl>
<a href="classes.doc.html#39600">
<dt><dd>8.4.8.1  Example: Overriding
</a><a href="classes.doc.html#39617">
<dt><dd>8.4.8.2  Example: Overloading, Overriding, and Hiding
</a><a href="classes.doc.html#39638">
<dt><dd>8.4.8.3  Example: Incorrect Overriding
</a><a href="classes.doc.html#39655">
<dt><dd>8.4.8.4  Example: Overriding versus Hiding
</a><a href="classes.doc.html#229207">
<dt><dd>8.4.8.5  Example: Invocation of Hidden Class Methods
</a><a href="classes.doc.html#229149">
<dt><dd>8.4.8.6  Large Example of Overriding
</a><a href="classes.doc.html#229203">
<dt><dd>8.4.8.7  Example: Incorrect Overriding because of Throws
</a></dl>
</dl>
<a href="classes.doc.html#246026">
<dt><dd>8.5      Member Type Declarations
</a><dl>
<a href="classes.doc.html#247581">
<dt><dd>8.5.1    Access Modifiers
</a><a href="classes.doc.html#246853">
<dt><dd>8.5.2    Static Member Type Declarations
</a></dl>
<a href="classes.doc.html#246032">
<dt><dd>8.6      Instance Initializers
</a><a href="classes.doc.html#39245">
<dt><dd>8.7      Static Initializers
</a><a href="classes.doc.html#41652">
<dt><dd>8.8      Constructor Declarations
</a><dl>
<a href="classes.doc.html#29488">
<dt><dd>8.8.1    Formal Parameters
</a><a href="classes.doc.html#41990">
<dt><dd>8.8.2    Constructor Signature
</a><a href="classes.doc.html#42018">
<dt><dd>8.8.3    Constructor Modifiers
</a><a href="classes.doc.html#244611">
<dt><dd>8.8.4    Constructor Throws
</a><a href="classes.doc.html#78435">
<dt><dd>8.8.5    Constructor Body
</a><dl>
<a href="classes.doc.html#229267">
<dt><dd>8.8.5.1  Explicit Constructor Invocations
</a></dl>
<a href="classes.doc.html#229266">
<dt><dd>8.8.6    Constructor Overloading
</a><a href="classes.doc.html#16823">
<dt><dd>8.8.7    Default Constructor
</a><a href="classes.doc.html#16830">
<dt><dd>8.8.8    Preventing Instantiation of a Class
</a></dl>
</dl>
<a href="interfaces.doc.html#238680">
<H2>    9        Interfaces      </H2>
</a><dl>
<a href="interfaces.doc.html#35470">
<dt><dd>9.1      Interface Declarations
</a><dl>
<a href="interfaces.doc.html#235947">
<dt><dd>9.1.1    Interface Modifiers
</a><dl>
<a href="interfaces.doc.html#30820">
<dt><dd>9.1.1.1  abstract Interfaces
</a><a href="interfaces.doc.html#246350">
<dt><dd>9.1.1.2  strictfp Interfaces
</a></dl>
<a href="interfaces.doc.html#78598">
<dt><dd>9.1.2    Superinterfaces and Subinterfaces
</a><a href="interfaces.doc.html#236431">
<dt><dd>9.1.3    Interface Body and Member Declarations
</a><a href="interfaces.doc.html#17144">
<dt><dd>9.1.4    Access to Interface Member Names
</a></dl>
<a href="interfaces.doc.html#32392">
<dt><dd>9.2      Interface Members
</a><a href="interfaces.doc.html#78642">
<dt><dd>9.3      Field (Constant) Declarations
</a><dl>
<a href="interfaces.doc.html#40720">
<dt><dd>9.3.1    Initialization of Fields in Interfaces
</a><a href="interfaces.doc.html#40595">
<dt><dd>9.3.2    Examples of Field Declarations
</a><dl>
<a href="interfaces.doc.html#40596">
<dt><dd>9.3.2.1  Ambiguous Inherited Fields
</a><a href="interfaces.doc.html#40599">
<dt><dd>9.3.2.2  Multiply Inherited Fields
</a></dl>
</dl>
<a href="interfaces.doc.html#78651">
<dt><dd>9.4      Abstract Method Declarations
</a><dl>
<a href="interfaces.doc.html#40247">
<dt><dd>9.4.1    Inheritance and Overriding
</a><a href="interfaces.doc.html#236017">
<dt><dd>9.4.2    Overloading
</a><a href="interfaces.doc.html#40248">
<dt><dd>9.4.3    Examples of Abstract Method Declarations
</a><dl>
<a href="interfaces.doc.html#40734">
<dt><dd>9.4.3.1  Example: Overriding
</a><a href="interfaces.doc.html#40735">
<dt><dd>9.4.3.2  Example: Overloading
</a></dl>
</dl>
<a href="interfaces.doc.html#252566">
<dt><dd>9.5      Member Type Declarations
</a></dl>
<a href="arrays.doc.html#27805">
<H2>    10       Arrays  </H2>
</a><dl>
<a href="arrays.doc.html#25518">
<dt><dd>10.1     Array Types
</a><a href="arrays.doc.html#25891">
<dt><dd>10.2     Array Variables
</a><a href="arrays.doc.html#25959">
<dt><dd>10.3     Array Creation
</a><a href="arrays.doc.html#25566">
<dt><dd>10.4     Array Access
</a><a href="arrays.doc.html#54000">
<dt><dd>10.5     Arrays: A Simple Example
</a><a href="arrays.doc.html#11358">
<dt><dd>10.6     Array Initializers
</a><a href="arrays.doc.html#64347">
<dt><dd>10.7     Array Members
</a><a href="arrays.doc.html#40879">
<dt><dd>10.8     Class Objects for Arrays
</a><a href="arrays.doc.html#25726">
<dt><dd>10.9     An Array of Characters is Not a String
</a><a href="arrays.doc.html#11430">
<dt><dd>10.10    Array Store Exception
</a></dl>
<a href="exceptions.doc.html#44044">
<H2>    11       Exceptions      </H2>
</a><dl>
<a href="exceptions.doc.html#44088">
<dt><dd>11.1     The Causes of Exceptions
</a><a href="exceptions.doc.html#44121">
<dt><dd>11.2     Compile-Time Checking of Exceptions
</a><dl>
<a href="exceptions.doc.html#62178">
<dt><dd>11.2.1   Why Errors are Not Checked
</a><a href="exceptions.doc.html#44149">
<dt><dd>11.2.2   Why Runtime Exceptions are Not Checked
</a></dl>
<a href="exceptions.doc.html#44153">
<dt><dd>11.3     Handling of an Exception
</a><dl>
<a href="exceptions.doc.html#44199">
<dt><dd>11.3.1   Exceptions are Precise
</a><a href="exceptions.doc.html#44202">
<dt><dd>11.3.2   Handling Asynchronous Exceptions
</a></dl>
<a href="exceptions.doc.html#44218">
<dt><dd>11.4     An Example of Exceptions
</a><a href="exceptions.doc.html#44278">
<dt><dd>11.5     The Exception Hierarchy
</a><dl>
<a href="exceptions.doc.html#44372">
<dt><dd>11.5.1   Loading and Linkage Errors
</a><a href="exceptions.doc.html#44395">
<dt><dd>11.5.2   Virtual Machine Errors
</a></dl>
</dl>
<a href="execution.doc.html#44411">
<H2>    12       Execution       </H2>
</a><dl>
<a href="execution.doc.html#44444">
<dt><dd>12.1     Virtual Machine Start-Up
</a><dl>
<a href="execution.doc.html#46619">
<dt><dd>12.1.1   Load the Class Test
</a><a href="execution.doc.html#46620">
<dt><dd>12.1.2   Link Test: Verify, Prepare, (Optionally) Resolve
</a><a href="execution.doc.html#46634">
<dt><dd>12.1.3   Initialize Test: Execute Initializers
</a><a href="execution.doc.html#47024">
<dt><dd>12.1.4   Invoke Test.main
</a></dl>
<a href="execution.doc.html#44459">
<dt><dd>12.2     Loading of Classes and Interfaces
</a><dl>
<a href="execution.doc.html#47907">
<dt><dd>12.2.1   The Loading Process
</a></dl>
<a href="execution.doc.html#44487">
<dt><dd>12.3     Linking of Classes and Interfaces
</a><dl>
<a href="execution.doc.html#44491">
<dt><dd>12.3.1   Verification of the Binary Representation
</a><a href="execution.doc.html#47979">
<dt><dd>12.3.2   Preparation of a Class or Interface Type
</a><a href="execution.doc.html#44524">
<dt><dd>12.3.3   Resolution of Symbolic References
</a></dl>
<a href="execution.doc.html#44557">
<dt><dd>12.4     Initialization of Classes and Interfaces
</a><dl>
<a href="execution.doc.html#57946">
<dt><dd>12.4.1   When Initialization Occurs
</a><a href="execution.doc.html#44630">
<dt><dd>12.4.2   Detailed Initialization Procedure
</a><a href="execution.doc.html#44667">
<dt><dd>12.4.3   Initialization: Implications for Code Generation
</a></dl>
<a href="execution.doc.html#44670">
<dt><dd>12.5     Creation of New Class Instances
</a><a href="execution.doc.html#44748">
<dt><dd>12.6     Finalization of Class Instances
</a><dl>
<a href="execution.doc.html#44760">
<dt><dd>12.6.1   Implementing Finalization
</a><a href="execution.doc.html#44837">
<dt><dd>12.6.2   Finalizer Invocations are Not Ordered
</a></dl>
<a href="execution.doc.html#74294">
<dt><dd>12.7     Unloading of Classes and Interfaces
</a><a href="execution.doc.html#44857">
<dt><dd>12.8     Program Exit
</a></dl>
<a href="binaryComp.doc.html#44872">
<H2>    13       Binary Compatibility    </H2>
</a><dl>
<a href="binaryComp.doc.html#44909">
<dt><dd>13.1     The Form of a Binary
</a><a href="binaryComp.doc.html#44952">
<dt><dd>13.2     What Binary Compatibility Is and Is Not
</a><a href="binaryComp.doc.html#47338">
<dt><dd>13.3     Evolution of Packages
</a><a href="binaryComp.doc.html#44977">
<dt><dd>13.4     Evolution of Classes
</a><dl>
<a href="binaryComp.doc.html#44980">
<dt><dd>13.4.1   abstract Classes
</a><a href="binaryComp.doc.html#44987">
<dt><dd>13.4.2   final Classes
</a><a href="binaryComp.doc.html#44990">
<dt><dd>13.4.3   publicClasses
</a><a href="binaryComp.doc.html#44994">
<dt><dd>13.4.4   Superclasses and Superinterfaces
</a><a href="binaryComp.doc.html#45037">
<dt><dd>13.4.5   Class Body and Member Declarations
</a><a href="binaryComp.doc.html#47259">
<dt><dd>13.4.6   Access to Members and Constructors
</a><a href="binaryComp.doc.html#45118">
<dt><dd>13.4.7   Field Declarations
</a><a href="binaryComp.doc.html#45139">
<dt><dd>13.4.8   final Fields and Constants
</a><a href="binaryComp.doc.html#45190">
<dt><dd>13.4.9   static Fields
</a><a href="binaryComp.doc.html#45192">
<dt><dd>13.4.10  transient Fields
</a><a href="binaryComp.doc.html#45197">
<dt><dd>13.4.11  Method and Constructor Declarations
</a><a href="binaryComp.doc.html#45202">
<dt><dd>13.4.12  Method and Constructor Parameters
</a><a href="binaryComp.doc.html#45208">
<dt><dd>13.4.13  Method Result Type
</a><a href="binaryComp.doc.html#45214">
<dt><dd>13.4.14  abstract Methods
</a><a href="binaryComp.doc.html#45238">
<dt><dd>13.4.15  final Methods
</a><a href="binaryComp.doc.html#45255">
<dt><dd>13.4.16  native Methods
</a><a href="binaryComp.doc.html#45257">
<dt><dd>13.4.17  static Methods
</a><a href="binaryComp.doc.html#45259">
<dt><dd>13.4.18  synchronized Methods
</a><a href="binaryComp.doc.html#45262">
<dt><dd>13.4.19  Method and Constructor Throws
</a><a href="binaryComp.doc.html#45265">
<dt><dd>13.4.20  Method and Constructor Body
</a><a href="binaryComp.doc.html#45274">
<dt><dd>13.4.21  Method and Constructor Overloading
</a><a href="binaryComp.doc.html#45301">
<dt><dd>13.4.22  Method Overriding
</a><a href="binaryComp.doc.html#45331">
<dt><dd>13.4.23  Static Initializers
</a></dl>
<a href="binaryComp.doc.html#45337">
<dt><dd>13.5     Evolution of Interfaces
</a><dl>
<a href="binaryComp.doc.html#45339">
<dt><dd>13.5.1   public Interfaces
</a><a href="binaryComp.doc.html#45342">
<dt><dd>13.5.2   Superinterfaces
</a><a href="binaryComp.doc.html#45347">
<dt><dd>13.5.3   The Interface Members
</a><a href="binaryComp.doc.html#45363">
<dt><dd>13.5.4   Field Declarations
</a><a href="binaryComp.doc.html#45371">
<dt><dd>13.5.5   Abstract Method Declarations
</a></dl>
</dl>
<a href="statements.doc.html#101241">
<H2>    14       Blocks and Statements   </H2>
</a><dl>
<a href="statements.doc.html#5894">
<dt><dd>14.1     Normal and Abrupt Completion of Statements
</a><a href="statements.doc.html#246838">
<dt><dd>14.2     Blocks
</a><a href="statements.doc.html#247766">
<dt><dd>14.3     Local Class Declarations
</a><a href="statements.doc.html#5920">
<dt><dd>14.4     Local Variable Declaration Statements
</a><dl>
<a href="statements.doc.html#35393">
<dt><dd>14.4.1   Local Variable Declarators and Types
</a><a href="statements.doc.html#32644">
<dt><dd>14.4.2   Scope of Local Variable Declarations
</a><a href="statements.doc.html#32673">
<dt><dd>14.4.3   Shadowing of Names by Local Variables
</a><a href="statements.doc.html#32717">
<dt><dd>14.4.4   Execution of Local Variable Declarations
</a></dl>
<a href="statements.doc.html#32584">
<dt><dd>14.5     Statements
</a><a href="statements.doc.html#5970">
<dt><dd>14.6     The Empty Statement
</a><a href="statements.doc.html#78993">
<dt><dd>14.7     Labeled Statements
</a><a href="statements.doc.html#5984">
<dt><dd>14.8     Expression Statements
</a><a href="statements.doc.html#5991">
<dt><dd>14.9     The if Statement
</a><dl>
<a href="statements.doc.html#237433">
<dt><dd>14.9.1   The if-then Statement
</a><a href="statements.doc.html#237435">
<dt><dd>14.9.2   The if-then-else Statement
</a></dl>
<a href="statements.doc.html#35518">
<dt><dd>14.10    The switch Statement
</a><a href="statements.doc.html#237277">
<dt><dd>14.11    The while Statement
</a><dl>
<a href="statements.doc.html#21139">
<dt><dd>14.11.1  Abrupt Completion
</a></dl>
<a href="statements.doc.html#6045">
<dt><dd>14.12    The do Statement
</a><dl>
<a href="statements.doc.html#45366">
<dt><dd>14.12.1  Abrupt Completion
</a><a href="statements.doc.html#24585">
<dt><dd>14.12.2  Example of do statement
</a></dl>
<a href="statements.doc.html#24588">
<dt><dd>14.13    The for Statement
</a><dl>
<a href="statements.doc.html#45367">
<dt><dd>14.13.1  Initialization of for statement
</a><a href="statements.doc.html#45370">
<dt><dd>14.13.2  Iteration of for statement
</a><a href="statements.doc.html#45371">
<dt><dd>14.13.3  Abrupt Completion of for statement
</a></dl>
<a href="statements.doc.html#6842">
<dt><dd>14.14    The break Statement
</a><a href="statements.doc.html#6122">
<dt><dd>14.15    The continue Statement
</a><a href="statements.doc.html#6767">
<dt><dd>14.16    The return Statement
</a><a href="statements.doc.html#237350">
<dt><dd>14.17    The throw Statement
</a><a href="statements.doc.html#255769">
<dt><dd>14.18    The synchronized Statement
</a><a href="statements.doc.html#79311">
<dt><dd>14.19    The try statement
</a><dl>
<a href="statements.doc.html#24134">
<dt><dd>14.19.1  Execution of try-catch
</a><a href="statements.doc.html#236653">
<dt><dd>14.19.2  Execution of try-catch-finally
</a></dl>
<a href="statements.doc.html#236365">
<dt><dd>14.20    Unreachable Statements
</a></dl>
<a href="expressions.doc.html#44393">
<H2>    15       Expressions     </H2>
</a><dl>
<a href="expressions.doc.html#228862">
<dt><dd>15.1     Evaluation, Denotation, and Result
</a><a href="expressions.doc.html#229188">
<dt><dd>15.2     Variables as Values
</a><a href="expressions.doc.html#198550">
<dt><dd>15.3     Type of an Expression
</a><a href="expressions.doc.html#249198">
<dt><dd>15.4     FP-strict Expressions
</a><a href="expressions.doc.html#290072">
<dt><dd>15.5     Expressions and Run-Time Checks
</a><a href="expressions.doc.html#79448">
<dt><dd>15.6     Normal and Abrupt Completion of Evaluation
</a><a href="expressions.doc.html#4779">
<dt><dd>15.7     Evaluation Order
</a><dl>
<a href="expressions.doc.html#18498">
<dt><dd>15.7.1   Evaluate Left-Hand Operand First
</a><a href="expressions.doc.html#18740">
<dt><dd>15.7.2   Evaluate Operands before Operation
</a><a href="expressions.doc.html#23213">
<dt><dd>15.7.3   Evaluation Respects Parentheses and Precedence
</a><a href="expressions.doc.html#23789">
<dt><dd>15.7.4   Argument Lists are Evaluated Left-to-Right
</a><a href="expressions.doc.html#23451">
<dt><dd>15.7.5   Evaluation Order for Other Expressions
</a></dl>
<a href="expressions.doc.html#23302">
<dt><dd>15.8     Primary Expressions
</a><dl>
<a href="expressions.doc.html#224125">
<dt><dd>15.8.1   Lexical Literals
</a><a href="expressions.doc.html#251530">
<dt><dd>15.8.2   Class Literals
</a><a href="expressions.doc.html#251519">
<dt><dd>15.8.3   this
</a><a href="expressions.doc.html#251603">
<dt><dd>15.8.4   Qualified this
</a><a href="expressions.doc.html#236822">
<dt><dd>15.8.5   Parenthesized Expressions
</a></dl>
<a href="expressions.doc.html#41147">
<dt><dd>15.9     Class Instance Creation Expressions
</a><dl>
<a href="expressions.doc.html#23745">
<dt><dd>15.9.1   Determining the Class being Instantiated
</a><a href="expressions.doc.html#253028">
<dt><dd>15.9.2   Determining Enclosing Instances
</a><a href="expressions.doc.html#253029">
<dt><dd>15.9.3   Choosing the Constructor and its Arguments
</a><a href="expressions.doc.html#251881">
<dt><dd>15.9.4   Run-time Evaluation of Class Instance Creation Expressions
</a><a href="expressions.doc.html#252986">
<dt><dd>15.9.5   Anonymous Class Declarations
</a><dl>
<a href="expressions.doc.html#253002">
<dt><dd>15.9.5.1         Anonymous Constructors
</a></dl>
<a href="expressions.doc.html#36687">
<dt><dd>15.9.6   Example: Evaluation Order and Out-of-Memory Detection
</a></dl>
<a href="expressions.doc.html#46168">
<dt><dd>15.10    Array Creation Expressions
</a><dl>
<a href="expressions.doc.html#23605">
<dt><dd>15.10.1  Run-time Evaluation of Array Creation Expressions
</a><a href="expressions.doc.html#286280">
<dt><dd>15.10.2  Example: Array Creation Evaluation Order
</a><a href="expressions.doc.html#36736">
<dt><dd>15.10.3  Example: Array Creation and Out-of-Memory Detection
</a></dl>
<a href="expressions.doc.html#41267">
<dt><dd>15.11    Field Access Expressions
</a><dl>
<a href="expressions.doc.html#37055">
<dt><dd>15.11.1  Field Access Using a Primary
</a><a href="expressions.doc.html#20860">
<dt><dd>15.11.2  Accessing Superclass Members using super
</a></dl>
<a href="expressions.doc.html#20448">
<dt><dd>15.12    Method Invocation Expressions
</a><dl>
<a href="expressions.doc.html#21692">
<dt><dd>15.12.1  Compile-Time Step 1: Determine Class or Interface to Search
</a><a href="expressions.doc.html#289905">
<dt><dd>15.12.2  Compile-Time Step 2: Determine Method Signature
</a><dl>
<a href="expressions.doc.html#18427">
<dt><dd>15.12.2.1        Find Methods that are Applicable and Accessible
</a><a href="expressions.doc.html#18428">
<dt><dd>15.12.2.2        Choose the Most Specific Method
</a><a href="expressions.doc.html#21711">
<dt><dd>15.12.2.3        Example: Overloading Ambiguity
</a><a href="expressions.doc.html#21727">
<dt><dd>15.12.2.4        Example: Return Type Not Considered
</a><a href="expressions.doc.html#29775">
<dt><dd>15.12.2.5        Example: Compile-Time Resolution
</a></dl>
<a href="expressions.doc.html#23617">
<dt><dd>15.12.3  Compile-Time Step 3: Is the Chosen Method Appropriate?
</a><a href="expressions.doc.html#45677">
<dt><dd>15.12.4  Runtime Evaluation of Method Invocation
</a><dl>
<a href="expressions.doc.html#38359">
<dt><dd>15.12.4.1        Compute Target Reference (If Necessary)
</a><a href="expressions.doc.html#45449">
<dt><dd>15.12.4.2        Evaluate Arguments
</a><a href="expressions.doc.html#45453">
<dt><dd>15.12.4.3        Check Accessibility of Type and Method
</a><a href="expressions.doc.html#45606">
<dt><dd>15.12.4.4        Locate Method to Invoke
</a><a href="expressions.doc.html#39078">
<dt><dd>15.12.4.5        Create Frame, Synchronize, Transfer Control
</a><a href="expressions.doc.html#39122">
<dt><dd>15.12.4.6        Example: Target Reference and Static Methods
</a><a href="expressions.doc.html#23837">
<dt><dd>15.12.4.7        Example: Evaluation Order
</a><a href="expressions.doc.html#239650">
<dt><dd>15.12.4.8        Example: Overriding
</a><a href="expressions.doc.html#239751">
<dt><dd>15.12.4.9        Example: Method Invocation using super
</a></dl>
</dl>
<a href="expressions.doc.html#239587">
<dt><dd>15.13    Array Access Expressions
</a><dl>
<a href="expressions.doc.html#23958">
<dt><dd>15.13.1  Runtime Evaluation of Array Access
</a><a href="expressions.doc.html#23902">
<dt><dd>15.13.2  Examples: Array Access Evaluation Order
</a></dl>
<a href="expressions.doc.html#36254">
<dt><dd>15.14    Postfix Expressions
</a><dl>
<a href="expressions.doc.html#39438">
<dt><dd>15.14.1  Postfix Increment Operator ++
</a><a href="expressions.doc.html#4987">
<dt><dd>15.14.2  Postfix Decrement Operator --
</a></dl>
<a href="expressions.doc.html#4990">
<dt><dd>15.15    Unary Operators
</a><dl>
<a href="expressions.doc.html#39547">
<dt><dd>15.15.1  Prefix Increment Operator ++
</a><a href="expressions.doc.html#239136">
<dt><dd>15.15.2  Prefix Decrement Operator --
</a><a href="expressions.doc.html#24924">
<dt><dd>15.15.3  Unary Plus Operator +
</a><a href="expressions.doc.html#236345">
<dt><dd>15.15.4  Unary Minus Operator -
</a><a href="expressions.doc.html#5017">
<dt><dd>15.15.5  Bitwise Complement Operator ~
</a><a href="expressions.doc.html#13350">
<dt><dd>15.15.6  Logical Complement Operator !
</a></dl>
<a href="expressions.doc.html#238146">
<dt><dd>15.16    Cast Expressions
</a><a href="expressions.doc.html#239829">
<dt><dd>15.17    Multiplicative Operators
</a><dl>
<a href="expressions.doc.html#5036">
<dt><dd>15.17.1  Multiplication Operator *
</a><a href="expressions.doc.html#5047">
<dt><dd>15.17.2  Division Operator /
</a><a href="expressions.doc.html#24956">
<dt><dd>15.17.3  Remainder Operator %
</a></dl>
<a href="expressions.doc.html#15746">
<dt><dd>15.18    Additive Operators
</a><dl>
<a href="expressions.doc.html#39990">
<dt><dd>15.18.1  String Concatenation Operator +
</a><dl>
<a href="expressions.doc.html#40220">
<dt><dd>15.18.1.1        String Conversion
</a><a href="expressions.doc.html#40226">
<dt><dd>15.18.1.2        Optimization of String Concatenation
</a><a href="expressions.doc.html#40423">
<dt><dd>15.18.1.3        Examples of String Concatenation
</a></dl>
<a href="expressions.doc.html#13510">
<dt><dd>15.18.2  Additive Operators (+ and -) for Numeric Types
</a></dl>
<a href="expressions.doc.html#5121">
<dt><dd>15.19    Shift Operators
</a><a href="expressions.doc.html#40641">
<dt><dd>15.20    Relational Operators
</a><dl>
<a href="expressions.doc.html#153654">
<dt><dd>15.20.1  Numerical Comparison Operators &lt;, &lt;=, &gt;, and &gt;=
</a><a href="expressions.doc.html#80289">
<dt><dd>15.20.2  Type Comparison Operator instanceof
</a></dl>
<a href="expressions.doc.html#5192">
<dt><dd>15.21    Equality Operators
</a><dl>
<a href="expressions.doc.html#5198">
<dt><dd>15.21.1  Numerical Equality Operators ==&#32;and !=
</a><a href="expressions.doc.html#54508">
<dt><dd>15.21.2  Boolean Equality Operators ==&#32;and !=
</a><a href="expressions.doc.html#236163">
<dt><dd>15.21.3  Reference Equality Operators ==&#32;and !=
</a></dl>
<a href="expressions.doc.html#5228">
<dt><dd>15.22    Bitwise and Logical Operators
</a><dl>
<a href="expressions.doc.html#5233">
<dt><dd>15.22.1  Integer Bitwise Operators &amp;, ^, and |
</a><a href="expressions.doc.html#5242">
<dt><dd>15.22.2  Boolean Logical Operators &amp;, ^, and |
</a></dl>
<a href="expressions.doc.html#5247">
<dt><dd>15.23    Conditional-And Operator &amp;&amp;
</a><a href="expressions.doc.html#54532">
<dt><dd>15.24    Conditional-Or Operator ||
</a><a href="expressions.doc.html#290293">
<dt><dd>15.25    Conditional Operator ?&#32;:
</a><a href="expressions.doc.html#5281">
<dt><dd>15.26    Assignment Operators
</a><dl>
<a href="expressions.doc.html#5295">
<dt><dd>15.26.1  Simple Assignment Operator =
</a><a href="expressions.doc.html#5304">
<dt><dd>15.26.2  Compound Assignment Operators
</a></dl>
<a href="expressions.doc.html#5308">
<dt><dd>15.27    Expression
</a><a href="expressions.doc.html#5313">
<dt><dd>15.28    Constant Expression
</a></dl>
<a href="defAssign.doc.html#25980">
<H2>    16       Definite Assignment     </H2>
</a><dl>
<a href="defAssign.doc.html#26051">
<dt><dd>16.1     Definite Assignment and Expressions
</a><dl>
<a href="defAssign.doc.html#55164">
<dt><dd>16.1.1   Boolean Constant Expressions
</a><a href="defAssign.doc.html#29521">
<dt><dd>16.1.2   The Boolean Operator &amp;&amp;
</a><a href="defAssign.doc.html#26067">
<dt><dd>16.1.3   The Boolean Operator ||
</a><a href="defAssign.doc.html#54187">
<dt><dd>16.1.4   The Boolean Operator !
</a><a href="defAssign.doc.html#26118">
<dt><dd>16.1.5   The Boolean Operator ?&#32;:
</a><a href="defAssign.doc.html#26129">
<dt><dd>16.1.6   The Conditional Operator ?&#32;:
</a><a href="defAssign.doc.html#26150">
<dt><dd>16.1.7   Assignment Expressions
</a><a href="defAssign.doc.html#54323">
<dt><dd>16.1.8   Operators ++ and --
</a><a href="defAssign.doc.html#26158">
<dt><dd>16.1.9   Other Expressions
</a></dl>
<a href="defAssign.doc.html#55800">
<dt><dd>16.2     Definite Assignment and Statements
</a><dl>
<a href="defAssign.doc.html#26169">
<dt><dd>16.2.1   Empty Statements
</a><a href="defAssign.doc.html#26171">
<dt><dd>16.2.2   Blocks
</a><a href="defAssign.doc.html#26177">
<dt><dd>16.2.3   Local Class Declaration Statements
</a><a href="defAssign.doc.html#63257">
<dt><dd>16.2.4   Local Variable Declaration Statements
</a><a href="defAssign.doc.html#26182">
<dt><dd>16.2.5   Labeled Statements
</a><a href="defAssign.doc.html#26185">
<dt><dd>16.2.6   Expression Statements
</a><a href="defAssign.doc.html#26188">
<dt><dd>16.2.7   if Statements
</a><a href="defAssign.doc.html#26193">
<dt><dd>16.2.8   switch Statements
</a><a href="defAssign.doc.html#44047">
<dt><dd>16.2.9   while Statements
</a><a href="defAssign.doc.html#59408">
<dt><dd>16.2.10  do Statements
</a><a href="defAssign.doc.html#58405">
<dt><dd>16.2.11  for Statements
</a><dl>
<a href="defAssign.doc.html#26219">
<dt><dd>16.2.11.1        Initialization Part
</a><a href="defAssign.doc.html#26229">
<dt><dd>16.2.11.2        Incrementation Part
</a></dl>
<a href="defAssign.doc.html#26235">
<dt><dd>16.2.12  break, continue, return, and throw Statements
</a><a href="defAssign.doc.html#26238">
<dt><dd>16.2.13  synchronized Statements
</a><a href="defAssign.doc.html#26242">
<dt><dd>16.2.14  try Statements
</a></dl>
<a href="defAssign.doc.html#57723">
<dt><dd>16.3     Definite Assignment and Parameters
</a><a href="defAssign.doc.html#57667">
<dt><dd>16.4     Definite Assignment and Array Initializers
</a><a href="defAssign.doc.html#68509">
<dt><dd>16.5     Definite Assignment and Anonymous Classes
</a><a href="defAssign.doc.html#63649">
<dt><dd>16.6     Definite Assignment and Member Types
</a><a href="defAssign.doc.html#63310">
<dt><dd>16.7     Definite Assignment and Static Initializers
</a><a href="defAssign.doc.html#56210">
<dt><dd>16.8     Definite Assignment, Constructors, and Instance Initializers
</a></dl>
<a href="memory.doc.html#30206">
<H2>    17       Threads and Locks       </H2>
</a><dl>
<a href="memory.doc.html#28287">
<dt><dd>17.1     Terminology and Framework
</a><a href="memory.doc.html#28920">
<dt><dd>17.2     Execution Order
</a><a href="memory.doc.html#28654">
<dt><dd>17.3     Rules about Variables
</a><a href="memory.doc.html#28733">
<dt><dd>17.4     Nonatomic Treatment of double and long
</a><a href="memory.doc.html#28320">
<dt><dd>17.5     Rules about Locks
</a><a href="memory.doc.html#28325">
<dt><dd>17.6     Rules about the Interaction of Locks and Variables
</a><a href="memory.doc.html#28330">
<dt><dd>17.7     Rules for Volatile Variables
</a><a href="memory.doc.html#45376">
<dt><dd>17.8     Prescient Store Actions
</a><a href="memory.doc.html#28341">
<dt><dd>17.9     Discussion
</a><a href="memory.doc.html#28345">
<dt><dd>17.10    Example: Possible Swap
</a><a href="memory.doc.html#29188">
<dt><dd>17.11    Example: Out-of-Order Writes
</a><a href="memory.doc.html#28457">
<dt><dd>17.12    Threads
</a><a href="memory.doc.html#28460">
<dt><dd>17.13    Locks and Synchronization
</a><a href="memory.doc.html#28471">
<dt><dd>17.14    Wait Sets and Notification
</a></dl>
<a href="syntax.doc.html#52996">
<H2>    18        Syntax         </H2>
</a><dl>
<a href="syntax.doc.html#44467">
<dt><dd>18.1     The Grammar of the Java Programming Language
</a></dl>
<dl>
<a href="jIX.fm.html#3278522">
<h2>Index </h2>
</a></dl>


<hr>
<table border="0" width="100%">
<tr>
<td><a href="jTOC.doc.html">Contents</a> | <a href="j.title.doc.html">Prev</a> | <a href="j.preface.doc.html">Next</a> | <a href="jIX.fm.html">Index</a></td>
<td align=right><i>Java Language Specification</i><br>
<font size="-1">Second Edition</font></td></tr></table>
<i><a href="jcopyright.doc.html">Copyright</a> &#169 2000 Sun Microsystems, Inc.
All rights reserved</i>
<br>
Please send any comments or corrections to <a href="mailto:[email protected]">[email protected]</a>
</font>
</body></html>