有如下的代码段,当编译和运行时,下列各选项中说法正确的是( )。 public class Z public static void main(String args[]) new Z (); Z() Z alias1 = this; Z alias2 = this; synchronized(alias1) try alias2.wait(); System.out.println( DONE WAITING ); catch (InterruptedException e) System.out.println( INTERRUPTED ); catch (Exception e) System.out.println( OTHER EXCEPTION ); finally System.out.println ( FINALLY ); System.out.println( ALL DONE );
A.应用程序编译正常,但是不打印任何数据
B.应用程序编译正常,并打印数据“DONE WAITING”
C.应用程序编译正常,并打印数据“FINALLY”
D.应用程序编译正常,并打印数据“ALL DONE”