SCJP 1.6版考題 084

出自 陳富國維基館
前往: 導覽搜尋
11. class Alpha{
12.   public void foo(){System.out.print("Afoo ");}
13. }
14. public class Beta extends Alpha{
15.   public void foo(){System.out.print("Bfoo ");}
16.   public static void main(String[] args){
17.     Alpha a = new Beta();
18.     Beta b = (Beta)a;
19.     a.foo();
20.     b.foo();
21.   }
22. }


What is the result?
  A. Afoo Afoo
  B. Afoo Bfoo
  C. Bfoo Afoo
  D. Bfoo Bfoo
  E. Compilation fails.
  F. An exception is thrown at runtime.

解答


Ans: D

解說: a和b皆指向同一個Beta型態的物件,以方法的多形來看都是叫用Beta中的foo方法