Java Reference
In-Depth Information
class
Identifier [TypeParameters]
[
extends
Type] [
implements
TypeList] ClassBody
EnumDeclaration:
enum
Identifier [
implements
TypeList] EnumBody
NormalInterfaceDeclaration:
interface
Identifier [TypeParameters] [
extends
TypeList] InterfaceBody
AnnotationTypeDeclaration:
@ interface
Identifier AnnotationTypeBody
Type:
BasicType {
[]
}
ReferenceType {
[]
}
BasicType:
byte
short
char
int
long
float
double
boolean
ReferenceType:
Identifier [TypeArguments] {
.
Identifier [TypeArguments] }
TypeArguments:
<
TypeArgument {
,
TypeArgument }
>
TypeArgument:
ReferenceType
?
[ (
extends
|
super
) ReferenceType ]
NonWildcardTypeArguments:
<
TypeList
>
TypeList:
ReferenceType {
,
ReferenceType }
TypeArgumentsOrDiamond:
< >
TypeArguments
NonWildcardTypeArgumentsOrDiamond:
< >
NonWildcardTypeArguments
TypeParameters:
<
TypeParameter {
,
TypeParameter }
>