abstract class C1 { public C1() { System.out.print(1); } } class C2 extends C1 { public C2() { System.out.print(2); } } class C3 extends C2 { public C3() { System.out.print(3); } } public class Ctest { public static void main(String[] a) { new C3(); } }
What is the result?
A. 3
B. 23
C. 32
D. 123
E. 321
F. Compilation fails.
G. An exception is thrown at runtime.
答案:D
解析:
子代的建構子在運作之前
必定會先運行父代的建構子
父代的建構子又會運行父代的父代的建構子
直到最上層Object 代為止...
類似題型:第16題
0 意見:
張貼留言