Java Reference
In-Depth Information
NonWildcardTypeArguments CreatedName ClassCreatorRest
CreatedName (ClassCreatorRest | ArrayCreatorRest)
CreatedName:
Identifier [TypeArgumentsOrDiamond] {
.
Identifier [TypeArgumentsOrDiamond]
}
ClassCreatorRest:
Arguments [ClassBody]
ArrayCreatorRest:
[
(
]
{
[]
} ArrayInitializer | Expression
]
{
[
Expression
]
} {
[]
})
IdentifierSuffix:
[
({
[]
}
. class
| Expression)
]
Arguments
.
(
class
| ExplicitGenericInvocation |
this
|
super
Arguments |
new
[NonWildcardTypeArguments] InnerCreator)
ExplicitGenericInvocation:
NonWildcardTypeArguments ExplicitGenericInvocationSuffix
InnerCreator:
Identifier [NonWildcardTypeArgumentsOrDiamond] ClassCreatorRest
Selector:
.
Identifier [Arguments]
.
ExplicitGenericInvocation
. this
. super
SuperSuffix
. new
[NonWildcardTypeArguments] InnerCreator
[
Expression
]
EnumBody:
{
[EnumConstants] [
,
] [EnumBodyDeclarations]
}
EnumConstants:
EnumConstant
EnumConstants
,
EnumConstant
EnumConstant:
[Annotations] Identifier [Arguments] [ClassBody]
EnumBodyDeclarations:
;
{ClassBodyDeclaration}
AnnotationTypeBody:
{
[AnnotationTypeElementDeclarations]
}
AnnotationTypeElementDeclarations:
AnnotationTypeElementDeclaration
AnnotationTypeElementDeclarations AnnotationTypeElementDeclaration