Primary expressions include most of the simplest kinds of expressions, from which all others are constructed: literals, class literals, field accesses, method invocations, and array accesses. A parenthesized expression is also treated syntactically as a primary expression.
Primary: PrimaryNoNewArray ArrayCreationExpressionPrimaryNoNewArray: Literal Type
void . class
) ClassInstanceCreationExpression FieldAccess MethodInvocation ArrayAccess
This part of the grammar of the Java programming language is unusual, in two ways. First, one might expect simple names, such as names of local variables and method parameters, to be primary expressions. ...