📄 19.doc.html
字号:
</i> <i>CompilationUnit
</i></pre></ul><a name="26306"></a>
<h2>19.3 Productions from <a href="3.doc.html#48198">§3</a><a href="3.doc.html#44591">: Lexical Structure</a></h2>
<ul><pre>
<i>Literal:<br>
</i> <i>IntegerLiteral<br>
</i> <i>FloatingPointLiteral<br>
</i> <i>BooleanLiteral<br>
</i> <i>CharacterLiteral<br>
</i> <i>StringLiteral<br>
</i> <i>NullLiteral
</i></pre></ul><a name="26315"></a>
<h2>19.4 Productions from <a href="4.doc.html#95843">§4</a><a href="4.doc.html#95845">: Types, Values, and Variables</a></h2>
<ul><pre>
<i>Type:<br>
</i><code> </code><i>PrimitiveType<br>
</i> <i>ReferenceType
</i>
<i>PrimitiveType:<br>
NumericType<br>
</i><code>boolean
</code>
<i>NumericType:<br>
</i> <i>IntegralType<br>
</i> <i>FloatingPointType
</i>
<i>IntegralType:</i> <i>one</i> <i>of<br>
</i> <code>byte short int long char
</code>
<i>FloatingPointType:</i> <i>one</i> <i>of<br>
</i><code> float double
</code>
<i>ReferenceType:<br>
</i> <i>ClassOrInterfaceType<br>
</i> <i>ArrayType
</i>
<i>ClassOrInterfaceType</i>:<br>
<i>Name
</i>
<i>ClassType:<br>
</i><code> </code><i>ClassOrInterfaceType
</i>
<i>InterfaceType:<br>
</i><code> </code><i>ClassOrInterfaceType
</i>
<i>ArrayType:<br>
</i><code> </code><i>PrimitiveType</i><code> [ ]<br>
</code><i>Name</i><code> [ ]<br>
</code><i>ArrayType</i><code> [ ]
</code></pre></ul><a name="26342"></a>
<h2>19.5 Productions from <a href="6.doc.html#48086">§6</a><a href="6.doc.html#44352">: Names</a></h2>
<ul><pre>
<i>Name:<br>
SimpleName<br>
QualifiedName
</i>
<i>SimpleName:<br>
Identifier
</i>
<i>QualifiedName:<br>
Name</i><code> . </code><i>Identifier
</i></pre></ul><a name="26355"></a>
<h2>19.6 Productions from <a href="7.doc.html#34412">§7</a><a href="7.doc.html#60384">: Packages</a></h2>
<ul><pre>
<i>CompilationUnit:<br>
PackageDeclaration</i><sub><i>opt</i></sub><code> </code><i>ImportDeclarations</i><sub><i>opt</i></sub><code> </code><i>TypeDeclarations</i><sub><i>opt
</i></sub>
<i>ImportDeclarations:<br>
</i> <i>ImportDeclaration<br>
</i> <i>ImportDeclarations</i><code> </code><i>ImportDeclaration
</i>
<i>TypeDeclarations:<br>
</i> <i>TypeDeclaration<br>
</i> <i>TypeDeclarations</i><code> </code><i>TypeDeclaration
</i>
<i>PackageDeclaration:<br>
</i><code>package </code><i>Name</i><code> ;
</code>
<i>ImportDeclaration:<br>
</i> <i>SingleTypeImportDeclaration<br>
</i> <i>TypeImportOnDemandDeclaration
</i>
<i>SingleTypeImportDeclaration:<br>
</i><code> import </code><i>Name</i><code> ;
</code>
<i>TypeImportOnDemandDeclaration:<br>
</i><code>import </code><i>Name</i><code> . * ;
</code>
<i>TypeDeclaration:<br>
</i> <i>ClassDeclaration<br>
</i> <i>InterfaceDeclaration<br>
</i> <code>;
</code></pre></ul><a name="26373"></a>
<h2>19.7 Productions Used Only in the LALR(1) Grammar</h2>
<ul><pre>
<i>Modifiers:<br>
Modifier<br>
Modifiers</i><code> </code><i>Modifier
</i>
<i>Modifier: one of<br>
</i><code>public protected private<br>
static<br>
abstract final native synchronized transient volatile
</code></pre></ul><a name="26384"></a>
<h2>19.8 Productions from <a href="8.doc.html#3857">§8</a><a href="8.doc.html#44365">: Classes</a></h2>
<a name="26388"></a>
<h3>19.8.1 Productions from <a href="8.doc.html#15372">§8.1: Class Declaration</a></h3>
<ul><pre>
<i>ClassDeclaration:<br>
</i> <i>Modifiers</i><sub><i>opt</i></sub><code> class </code><i>Identifier</i><code> </code><i>Super</i><sub><i>opt</i></sub><code> </code><i>Interfaces</i><sub><i>opt</i></sub><code> </code><i>ClassBody
</i>
<i>Super:<br>
</i> <code>extends </code><i>ClassType
</i>
<i>Interfaces:<br>
</i> <code>implements </code><i>InterfaceTypeList
</i>
<i>InterfaceTypeList:<br>
</i> <i>InterfaceType<br>
</i> <i>InterfaceTypeList</i><code> , </code><i>InterfaceType
</i>
<i>ClassBody:<br>
</i><code>{ </code><i>ClassBodyDeclarations</i><sub><i>opt</i></sub><code> }
</code>
<i>ClassBodyDeclarations:<br>
</i> <i>ClassBodyDeclaration<br>
</i> <i>ClassBodyDeclarations</i><code> </code><i>ClassBodyDeclaration
</i>
<i>ClassBodyDeclaration:<br>
ClassMemberDeclaration<br>
StaticInitializer<br>
ConstructorDeclaration
</i>
<i>ClassMemberDeclaration:<br>
FieldDeclaration<br>
</i> <i>MethodDeclaration
</i></pre></ul><a name="26408"></a>
<h3>19.8.2 Productions from <a href="8.doc.html#40898">§8.3: Field Declarations</a></h3>
<ul><pre>
<i>FieldDeclaration:<br>
Modifiers</i><sub><i>opt</i></sub><code> </code><i>Type</i><code> </code><i>VariableDeclarators</i><code> ;
</code>
<i>VariableDeclarators:<br>
</i> <i>VariableDeclarator<br>
</i> <i>VariableDeclarators</i><code> , </code><i>VariableDeclarator
</i>
<i>VariableDeclarator:<br>
</i> <i>VariableDeclaratorId<br>
</i> <i>VariableDeclaratorId</i><code> = </code><i>VariableInitializer
</i>
<i>VariableDeclaratorId:<br>
</i> <i>Identifier<br>
</i> <i>VariableDeclaratorId</i><code> [ ]
</code>
<i>VariableInitializer:<br>
</i> <i>Expression<br>
</i> <i>ArrayInitializer
</i></pre></ul><a name="26422"></a>
<h3>19.8.3 Productions from <a href="8.doc.html#40420">§8.4: Method Declarations</a></h3>
<ul><pre>
<i>MethodDeclaration:<br>
</i> <i>MethodHeader</i><code> </code><i>MethodBody
</i>
<i>MethodHeader:<br>
</i> <i>Modifiers</i><sub><i>opt</i></sub><code> </code><i>Type</i><code> </code><i>MethodDeclarator</i><code> </code><i>Throws</i><sub><i>opt<br>
</i></sub> <i>Modifiers</i><sub><i>opt</i></sub><code> void </code><i>MethodDeclarator</i><code> </code><i>Throws</i><sub><i>opt
</i></sub>
<i>MethodDeclarator:<br>
</i> <i>Identifier</i><code> ( </code><i>FormalParameterList</i><sub><i>opt</i></sub><code> )<br>
</code> <i>MethodDeclarator</i><code> [ ]
</code>
<i>FormalParameterList:<br>
</i> <i>FormalParameter<br>
</i> <i>FormalParameterList</i><code> , </code><i>FormalParameter
</i>
<i>FormalParameter:<br>
</i> <i>Type</i><code> </code><i>VariableDeclaratorId
</i>
<i>Throws:<br>
</i><code> throws </code><i>ClassTypeList
</i>
<i>ClassTypeList:<br>
</i> <i>ClassType<br>
</i> <i>ClassTypeList</i><code> , </code><i>ClassType
</i>
<i>MethodBody:<br>
Block</i> <br>
<code>;
</code></pre></ul><a name="26442"></a>
<h3>19.8.4 Productions from <a href="8.doc.html#39245">§8.5: Static Initializers</a></h3>
<ul><pre>
<i>StaticInitializer:<br>
</i> <code>static </code><i>Block
</i></pre></ul><a name="44248"></a>
<h3>19.8.5 Productions from <a href="8.doc.html#41652">§8.6: Constructor Declarations</a></h3>
<ul><pre>
<i>ConstructorDeclaration:<br>
Modifiers</i><sub><i>opt</i></sub><code> </code><i>ConstructorDeclarator</i><code> </code><i>Throws</i>opt<code> </code><i>ConstructorBody
</i>
<i>ConstructorDeclarator:<br>
</i><code> </code><i>SimpleName</i><code> ( </code><i>FormalParameterList</i><sub><i>opt</i></sub><code> )
</code>
<i>ConstructorBody:<br>
</i> <code>{ </code><i>ExplicitConstructorInvocation</i><sub><i>opt</i></sub><code> </code><i>BlockStatements</i><sub><i>opt</i></sub><code> }
</code>
<i>ExplicitConstructorInvocation:<br>
</i> <code>this ( </code><i>ArgumentList</i><sub><i>opt</i></sub><code> ) ;<br>
</code> <code>super ( </code><i>ArgumentList</i><sub><i>opt</i></sub><code> ) ;
</code></pre></ul><a name="26463"></a>
<h2>19.9 Productions from <a href="9.doc.html#238678">§9</a><a href="9.doc.html#238680">: Interfaces</a></h2>
<a name="26467"></a>
<h3>19.9.1 Productions from <a href="9.doc.html#35470">§9.1: Interface Declarations</a></h3>
<ul><pre>
<i>InterfaceDeclaration:<br>
</i> <i>Modifiers</i><sub><i>opt</i></sub><code> interface </code><i>Identifier</i><code> </code><i>ExtendsInterfaces</i><sub><i>opt</i></sub><code> </code><i>InterfaceBody
</i>
<i>ExtendsInterfaces:<br>
</i> <code>extends </code><i>InterfaceType<br>
</i> <i>ExtendsInterfaces</i><code> , </code><i>InterfaceType
</i>
<i>InterfaceBody</i>:<br>
<code> { </code><i>InterfaceMemberDeclarations</i><sub><i>opt</i></sub><code> }
</code>
<i>InterfaceMemberDeclarations:<br>
</i> <i>InterfaceMemberDeclaration<br>
</i> <i>InterfaceMemberDeclarations</i><code> </code><i>InterfaceMemberDeclaration
</i>
<i>InterfaceMemberDeclaration:<br>
</i> <i>ConstantDeclaration<br>
</i> <i>AbstractMethodDeclaration
</i>
<i>ConstantDeclaration:<br>
</i> <i>FieldDeclaration
</i>
<i>AbstractMethodDeclaration:<br>
</i> <i>MethodHeader</i><code> ;
</code></pre></ul><a name="26488"></a>
<h2>19.10 Productions from <a href="10.doc.html#27803">§10</a><a href="10.doc.html#27805">: Arrays</a></h2>
<ul><pre>
<i>ArrayInitializer:<br>
</i> <code>{ </code><i>VariableInitializers</i><sub><i>opt</i></sub><code> ,</code><sub><i>opt</i></sub><code> }
</code>
<i>VariableInitializers:<br>
</i> <i>VariableInitializer<br>
</i> <i>VariableInitializers</i><code> , </code><i>VariableInitializer
</i></pre></ul><a name="26499"></a>
<h2>19.11 Productions from <a href="14.doc.html#44383">§14</a><a href="14.doc.html#101241">: Blocks and Statements</a></h2>
<ul><pre>
<i>Block:<br>
</i> <code>{ </code><i>BlockStatements</i><sub><i>opt</i></sub><code> }
</code>
<i>BlockStatements:<br>
</i><code> </code><i>BlockStatement<br>
</i><code> </code><i>BlockStatements</i><code> </code><i>BlockStatement
</i>
<i>BlockStatement:<br>
</i> <i>LocalVariableDeclarationStatement<br>
</i> <i>Statement
</i>
<i>LocalVariableDeclarationStatement:<br>
</i> <i>LocalVariableDeclaration</i><code> ;
</code>
<i>LocalVariableDeclaration:<br>
</i> <i>Type</i><code> </code><i>VariableDeclarators
</i>
<i>Statement:<br>
</i> <i>StatementWithoutTrailingSubstatement<br>
</i> <i>LabeledStatement<br>
</i> <i>IfThenStatement<br>
</i> <i>IfThenElseStatement<br>
</i> <i>WhileStatement<br>
</i> <i>ForStatement
</i>
<i>StatementNoShortIf:<br>
</i> <i>StatementWithoutTrailingSubstatement<br>
</i> <i>LabeledStatementNoShortIf<br>
</i> <i>IfThenElseStatementNoShortIf<br>
</i> <i>WhileStatementNoShortIf<br>
</i> <i>ForStatementNoShortIf
</i>
<i>StatementWithoutTrailingSubstatement:<br>
Block<br>
EmptyStatement<br>
ExpressionStatement<br>
SwitchStatement<br>
DoStatement<br>
BreakStatement<br>
ContinueStatement<br>
ReturnStatement<br>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -