There are three kinds of reference types: class types (§8), interface types (§9), and array types (§10).
ReferenceType:
ClassOrInterfaceType
ArrayType ClassOrInterfaceType:
ClassType
InterfaceType ClassType:
TypeName InterfaceType:
TypeName ArrayType:
Type[ ]
Names are described in §6; type names in §6.5 and, specifically, §6.5.4.
class Point { int[] metrics; }
interface Move { void move(int deltax, int deltay); }
declares a class type Point
, an interface type Move
, and uses an array type int[]
(an array of int
) to declare the field metrics
of the class Point
.