以下程序编译运行结果为.(). 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("INTERR UPTED"); } 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". E: 程序可以编译并输出"INTERRUPTED"
以下程序编译运行结果为.(). 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("INTERR UPTED"); } 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". E: 程序可以编译并输出"INTERRUPTED"
1