SCJP 1.6版考題 071

出自 陳富國維基館
於 2013年3月30日 (六) 06:32 由 Ikk (對話 | 貢獻) 所做的修訂 (新頁面: 1. interface A{public void aMethod();} 2. interface B { public void bMethod(); } 3. interface C extends A, B { public void cMethod(); } 4. class D implements B { 5. public void ...)
(差異) ←上個修訂 | 最新修訂 (差異) | 下個修訂→ (差異)
前往: 導覽搜尋
1. interface A{public void aMethod();}
2. interface B { public void bMethod(); }
3. interface C extends A, B { public void cMethod(); }
4. class D implements B {
5.   public void bMethod(){}
6. }
7. class E extends D implements C {
8.    public void aMethod(){}
9.    public void bMethod(){}
10.  public void cMethod(){}
11.}
 

What is the result?
  A. Compilation fails because of an error in line 3.
  B. Compilation fails because of an error in line 7.
  C. Compilation fails because of an error in line 9.
  D. If you define D e = new E(), then e.bMethod() invokes the version of bMethod() defined in Line 5.
  E. If you define D e = (D)(new E()), then e.bMethod() invokes the version of bMethod() defined in Line 5.
  F. If you define D e = (D)(new E()), then e.bMethod() invokes the version of bMethod() defined in Line 9.

解答


Ans: F

解說: 新增的物件型態為E,依物件多形的機制來看,答案是F