A class instance creation expression is used to create new objects that are instances of classes.
ClassInstanceCreationExpression:
newClassType(ArgumentListopt)ArgumentList:
Expression
ArgumentList,Expression
In a class instance creation expression, the ClassType must name a class that is not abstract. This class type is the type of the creation expression.
The arguments in the argument list, if any, are used to select a constructor declared in the body of the named class type, using the same matching rules as for method invocations (§15.11). As in method invocations, a compile-time method matching error results if there is no unique constructor that is both applicable to the provided arguments and the most specific of all the applicable constructors.