This statement is not legal Java:
myArray = {'a', 'b', 'c'};
The { ... } syntax can only be used as an initializer in a declaration, or in an array new expression. As the JLS section §10.6 says:
"An array initializer may be specified in a declaration (§8.3, §9.3, §14.4), or as part of an array creation expression (§15.10), to create an array and provide some initial values."
So the choice is actually between
char[] myArray = {'a','b', 'c'};
and
char[] myArray = new char[] {'a', 'b', 'c'};
The difference between the two forms is purely syntactic. They mean the same thing and I would expect them to compile to identical code in this example. The only practical difference is that the form with an explicit new can be used in contexts where the other one cannot.
Incidentally, in the first example, why am I also allowed to assign the { ... } set without passing it to a constructor method (in parenthesis)?
Because Java array types don't have constructors.