Because of some hideous black compiler magic running in the background.
You write:

System.out.println('1'+2+"2");
but what the compiler does with it is something like this:


char a = '1';...