<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 <, <=, >, and >=
</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 == and !=
</a><a href="expressions.doc.html#54508">
<dt><dd>15.21.2 Boolean Equality Operators == and !=
</a><a href="expressions.doc.html#236163">
<dt><dd>15.21.3 Reference Equality Operators == 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 &, ^, and |
</a><a href="expressions.doc.html#5242">
<dt><dd>15.22.2 Boolean Logical Operators &, ^, and |
</a></dl>
<a href="expressions.doc.html#5247">
<dt><dd>15.23 Conditional-And Operator &&
</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 ? :
</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 &&
</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 ? :
</a><a href="defAssign.doc.html#26129">
<dt><dd>16.1.6 The Conditional Operator ? :
</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> © 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>