📄 index.html
字号:
<html>
<head>
<title>The Java Language Specification </title>
</head>
<body BGCOLOR=#eeeeff text=#000000 LINK=#0000ff VLINK=#000077 ALINK=#ff0000>
Contents | Prev | <a href="j.series.doc.html">Next</a> | <a href="j.index.doc1.html">Index</a>
<hr><br>
<p>
<a name="997324"></a>
<h1>The Java Language Specification</h1>
<p>James Gosling<br>Bill Joy<br>Guy Steele<p>
<a name="997533"></a>
Edition 1.0<br><font size=-1>(Converted from the printed book, August 1996, first printing)</font><p><hr><blockquote>NOTE - Ths document (particularly chapters 20-22) has not been updated to include changes to the specification for Java 1.1. For a list of changes,see <a href="http://java.sun.com/docs/books/jls/html/1.1Update.html">Changes for Java 1.1</a>, originally published as Appendix D from <i>The Java Programming Language</i> by Ken Arnold.<p>NOTE - For a list of Clarifications and Amendments see <a href="http://java.sun.com/docs/books/jls/clarify.html">Clarifications and Amendments</a>.</blockquote><hr><a href="j.series.doc.html"><H2> Series Foreword xxi</H2></a><a href="j.preface.html"><H2> Preface xxiii</H2></a><a href="1.doc.html"><H2> 1 Introduction 1</H2></a><dl><a href="1.doc.html#11484"><dt><dd>1.1 Example Programs 5</a><a href="1.doc.html#11506"><dt><dd>1.2 References 6</a></dl><a href="2.doc.html"><H2> 2 Grammars 7</H2></a><dl><a href="2.doc.html#40415"><dt><dd>2.1 Context-Free Grammars 7</a><a href="2.doc.html#142375"><dt><dd>2.2 The Lexical Grammar 7</a><a href="2.doc.html#140845"><dt><dd>2.3 The Syntactic Grammar 8</a><a href="2.doc.html#90767"><dt><dd>2.4 Grammar Notation 8</a></dl><a href="3.doc.html"><H2> 3 Lexical Structure 11</H2></a><dl><a href="3.doc.html#95413"><dt><dd>3.1 Unicode 11</a><a href="3.doc.html#95504"><dt><dd>3.2 Lexical Translations 12</a><a href="3.doc.html#100850"><dt><dd>3.3 Unicode Escapes 12</a><a href="3.doc.html#231571"><dt><dd>3.4 Line Terminators 13</a><a href="3.doc.html#25687"><dt><dd>3.5 Input Elements and Tokens 14</a><a href="3.doc.html#95710"><dt><dd>3.6 White Space 15</a><a href="3.doc.html#48125"><dt><dd>3.7 Comments 15</a><a href="3.doc.html#40625"><dt><dd>3.8 Identifiers 17</a><a href="3.doc.html#229308"><dt><dd>3.9 Keywords 18</a><a href="3.doc.html#48272"><dt><dd>3.10 Literals 19</a><dl><a href="3.doc.html#48282"><dt><dd>3.10.1 Integer Literals 19</a><a href="3.doc.html#230798"><dt><dd>3.10.2 Floating-Point Literals 22</a><a href="3.doc.html#49652"><dt><dd>3.10.3 Boolean Literals 23</a><a href="3.doc.html#100960"><dt><dd>3.10.4 Character Literals 24</a><a href="3.doc.html#101083"><dt><dd>3.10.5 String Literals 25</a><a href="3.doc.html#101089"><dt><dd>3.10.6 Escape Sequences for Character and String Literals 26</a><a href="3.doc.html#230717"><dt><dd>3.10.7 The Null Literal 27</a></dl><a href="3.doc.html#230752"><dt><dd>3.11 Separators 27</a><a href="3.doc.html#230663"><dt><dd>3.12 Operators 28</a></dl><a href="4.doc.html"><H2> 4 Types, Values, and Variables 29</H2></a><dl><a href="4.doc.html#11128"><dt><dd>4.1 The Kinds of Types and Values 30</a><a href="4.doc.html#85587"><dt><dd>4.2 Primitive Types and Values 30</a><dl><a href="4.doc.html#9151"><dt><dd>4.2.1 Integral Types and Values 31</a><a href="4.doc.html#51035"><dt><dd>4.2.2 Integer Operations 31</a><a href="4.doc.html#9208"><dt><dd>4.2.3 Floating-Point Types and Values 33</a><a href="4.doc.html#9249"><dt><dd>4.2.4 Floating-Point Operations 34</a><a href="4.doc.html#11527"><dt><dd>4.2.5 The boolean Type and boolean Values 36</a></dl><a href="4.doc.html#9317"><dt><dd>4.3 Reference Types and Values 37</a><dl><a href="4.doc.html#12028"><dt><dd>4.3.1 Objects 38</a><a href="4.doc.html#11055"><dt><dd>4.3.2 The Class Object 40</a><a href="4.doc.html#26992"><dt><dd>4.3.3 The Class String 41 </a><a href="4.doc.html#52197"><dt><dd>4.3.4 When Reference Types Are the Same 42</a></dl><a href="4.doc.html#25948"><dt><dd>4.4 Where Types Are Used 42</a><a href="4.doc.html#18470"><dt><dd>4.5 Variables 43</a><dl><a href="4.doc.html#28344"><dt><dd>4.5.1 Variables of Primitive Type 44</a><a href="4.doc.html#28345"><dt><dd>4.5.2 Variables of Reference Type 44</a><a href="4.doc.html#28536"><dt><dd>4.5.3 Kinds of Variables 44</a><a href="4.doc.html#10931"><dt><dd>4.5.4 Initial Values of Variables 46</a><a href="4.doc.html#24887"><dt><dd>4.5.5 Variables Have Types, Objects Have Classes 47</a></dl></dl><a href="5.doc.html"><H2> 5 Conversions and Promotions 51</H2></a><dl><a href="5.doc.html#170671"><dt><dd>5.1 Kinds of Conversion 54</a><dl><a href="5.doc.html#25209"><dt><dd>5.1.1 Identity Conversions 54</a><a href="5.doc.html#25222"><dt><dd>5.1.2 Widening Primitive Conversions 54</a><a href="5.doc.html#175672"><dt><dd>5.1.3 Narrowing Primitive Conversions 55</a><a href="5.doc.html#25215"><dt><dd>5.1.4 Widening Reference Conversions 58</a><a href="5.doc.html#25379"><dt><dd>5.1.5 Narrowing Reference Conversions 59</a><a href="5.doc.html#176886"><dt><dd>5.1.6 String Conversions 60</a><a href="5.doc.html#175034"><dt><dd>5.1.7 Forbidden Conversions 60</a></dl><a href="5.doc.html#170768"><dt><dd>5.2 Assignment Conversion 61</a><a href="5.doc.html#12687"><dt><dd>5.3 Method Invocation Conversion 66</a><a href="5.doc.html#176921"><dt><dd>5.4 String Conversion 67</a><a href="5.doc.html#20232"><dt><dd>5.5 Casting Conversion 67</a><a href="5.doc.html#26917"><dt><dd>5.6 Numeric Promotions 72</a><dl><a href="5.doc.html#170952"><dt><dd>5.6.1 Unary Numeric Promotion 73</a><a href="5.doc.html#170983"><dt><dd>5.6.2 Binary Numeric Promotion 74</a></dl></dl><a href="6.doc.html"><H2> 6 Names 77</H2></a><dl><a href="6.doc.html#33757"><dt><dd>6.1 Declarations 78</a><a href="6.doc.html#31692"><dt><dd>6.2 Names and Identifiers 79</a><a href="6.doc.html#33623"><dt><dd>6.3 Scope of a Simple Name 81</a><dl><a href="6.doc.html#34133"><dt><dd>6.3.1 Hiding Names 83</a></dl><a href="6.doc.html#31814"><dt><dd>6.4 Members and Inheritance 85</a><dl><a href="6.doc.html#34993"><dt><dd>6.4.1 The Members of a Package 85</a><a href="6.doc.html#34757"><dt><dd>6.4.2 The Members of a Class Type 86</a><a href="6.doc.html#34849"><dt><dd>6.4.3 The Members of an Interface Type 87</a><a href="6.doc.html#27725"><dt><dd>6.4.4 The Members of an Array Type 88</a></dl><a href="6.doc.html#20569"><dt><dd>6.5 Determining the Meaning of a Name 89</a><dl><a href="6.doc.html#32740"><dt><dd>6.5.1 Syntactic Classification of a Name According to Context 90</a><a href="6.doc.html#32725"><dt><dd>6.5.2 Reclassification of Contextually Ambiguous Names 91</a><a href="6.doc.html#22349"><dt><dd>6.5.3 Meaning of Package Names 93</a><dl><a href="6.doc.html#22481"><dt><dd>6.5.3.1 Simple Package Names 93</a><a href="6.doc.html#22482"><dt><dd>6.5.3.2 Qualified Package Names 93</a></dl><a href="6.doc.html#21721"><dt><dd>6.5.4 Meaning of Type Names 93</a><dl><a href="6.doc.html#21810"><dt><dd>6.5.4.1 Simple Type Names 93</a><a href="6.doc.html#21811"><dt><dd>6.5.4.2 Qualified Type Names 94</a></dl><a href="6.doc.html#21650"><dt><dd>6.5.5 Meaning of Expression Names 95</a><dl><a href="6.doc.html#22022"><dt><dd>6.5.5.1 Simple Expression Names 95</a><a href="6.doc.html#22133"><dt><dd>6.5.5.2 Qualified Expression Names 96</a></dl><a href="6.doc.html#21652"><dt><dd>6.5.6 Meaning of Method Names 98</a><dl><a href="6.doc.html#54512"><dt><dd>6.5.6.1 Simple Method Names 98</a><a href="6.doc.html#54547"><dt><dd>6.5.6.2 Qualified Method Names 98</a></dl></dl><a href="6.doc.html#33916"><dt><dd>6.6 Qualified Names and Access Control 99</a><dl><a href="6.doc.html#62395"><dt><dd>6.6.1 Determining Accessibility 99</a><a href="6.doc.html#62587"><dt><dd>6.6.2 Details on protected Access 100</a><a href="6.doc.html#62666"><dt><dd>6.6.3 An Example of Access Control 100</a><a href="6.doc.html#36060"><dt><dd>6.6.4 Example: Access to public and Non-public Classes 101</a><a href="6.doc.html#36154"><dt><dd>6.6.5 Example: Default-Access Fields, Methods, and Constructors 10</a><a href="6.doc.html#36250"><dt><dd>6.6.6 Example: public Fields, Methods, and Constructors 103</a><a href="6.doc.html#36191"><dt><dd>6.6.7 Example: protected Fields, Methods, and Constructors 104</a><a href="6.doc.html#36233"><dt><dd>6.6.8 Example: private Fields, Methods, and Constructors 105</a></dl><a href="6.doc.html#25430"><dt><dd>6.7 Fully Qualified Names 105</a><a href="6.doc.html#11186"><dt><dd>6.8 Naming Conventions 106</a><dl><a href="6.doc.html#9184"><dt><dd>6.8.1 Package Names 107</a><a href="6.doc.html#29466"><dt><dd>6.8.2 Class and Interface Type Names 108</a><a href="6.doc.html#9322"><dt><dd>6.8.3 Method Names 108</a><a href="6.doc.html#9351"><dt><dd>6.8.4 Field Names 109</a><a href="6.doc.html#9367"><dt><dd>6.8.5 Constant Names 109</a><a href="6.doc.html#62552"><dt><dd>6.8.6 Local Variable and Parameter Names 110</a></dl></dl><a href="7.doc.html"><H2> 7 Packages 113</H2></a><dl><a href="7.doc.html#26535"><dt><dd>7.1 Package Members 114</a><a href="7.doc.html#37758"><dt><dd>7.2 Host Support for Packages 115</a><dl><a href="7.doc.html#37546"><dt><dd>7.2.1 Storing Packages in a File System 115</a><a href="7.doc.html#37739"><dt><dd>7.2.2 Storing Packages in a Database 117</a></dl><a href="7.doc.html#40031"><dt><dd>7.3 Compilation Units 117</a><a href="7.doc.html#26619"><dt><dd>7.4 Package Declarations 118</a><dl><a href="7.doc.html#26621"><dt><dd>7.4.1 Named Packages 118</a><a href="7.doc.html#26639"><dt><dd>7.4.2 Unnamed Packages 119</a><a href="7.doc.html#13180"><dt><dd>7.4.3 Scope and Hiding of a Package Name 120</a><a href="7.doc.html#13194"><dt><dd>7.4.4 Access to Members of a Package 120</a></dl><a href="7.doc.html#26656"><dt><dd>7.5 Import Declarations 120</a><dl><a href="7.doc.html#26699"><dt><dd>7.5.1 Single-Type-Import Declaration 121</a><a href="7.doc.html#26725"><dt><dd>7.5.2 Type-Import-on-Demand Declaration 122</a><a href="7.doc.html#26741"><dt><dd>7.5.3 Automatic Imports 122</a><a href="7.doc.html#24151"><dt><dd>7.5.4 A Strange Example 123</a></dl><a href="7.doc.html#26783"><dt><dd>7.6 Type Declarations 124</a><a href="7.doc.html#40169"><dt><dd>7.7 Unique Package Names 125</a></dl><a href="8.doc.html"><H2> 8 Classes 127</H2></a><dl><a href="8.doc.html#15372"><dt><dd>8.1 Class Declaration 128</a><dl><a href="8.doc.html#39196"><dt><dd>8.1.1 Scope of a Class Type Name 130</a><a href="8.doc.html#21613"><dt><dd>8.1.2 Class Modifiers 130</a><dl><a href="8.doc.html#34944"><dt><dd>8.1.2.1 abstract Classes 131</a><a href="8.doc.html#54727"><dt><dd>8.1.2.2 final Classes 133</a></dl><a href="8.doc.html#21723"><dt><dd>8.1.3 Superclasses and Subclasses 133</a><a href="8.doc.html#34031"><dt><dd>8.1.4 Superinterfaces 135
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -