Вы можете попробовать это вместо этого:
String char1="\u4e16\u754c\u4f60\u597d";
System.out.println(char1);
Escape-последовательности разрешаются компилятором javac в соответствующие кодовые точки Unicode, таким образом, вы не зависите от фактической кодировки исходного кода.Любые оставшиеся проблемы с отображением должны быть вызваны консолью или неполным шрифтом.
PS: в моей установке Netbeans (7.0 M2 в Ubuntu Linux) обе строки в основном работают, за исключением третьего символа, который отображается каккоробка.