A class instance creation expression is used to create new objects that are instances of classes.
ClassInstanceCreationExpression:
new
ClassType(
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.