SCJP 1.6版考題 086

出自 陳富國維基館
於 2013年3月30日 (六) 06:04 由 Ikk (對話 | 貢獻) 所做的修訂 (新頁面: 10. abstract class A{ 11. abstract void a1(); 12. void a2(){} 13. } 14. class B extends A{ 15. void a1(){} 16. void a2(){} 17. } 18. class C extends B{void c1(){}} and:...)
(差異) ←上個修訂 | 最新修訂 (差異) | 下個修訂→ (差異)
前往: 導覽搜尋
10. abstract class A{
11.   abstract void a1();
12. void a2(){}
13. }
14. class B extends A{
15.   void a1(){}
16.   void a2(){}
17. }
18. class C extends B{void c1(){}}
and:
A x = new B(); C y = new C(); A z = new C();


What are four valid examples of polymorphic (需為多型) method calls?
(Choose four.)
  A. x.a2();
  B. z.a2();
  C. z.c1();
  D. z.a1();
  E. y.c1();
  F. x.a1();

解答


Ans: A B D F

解說:

此題問那四個是有效的多形叫用
C不行是因為若為多形,方法必須在父類別中宣告,在子類別覆載之,c1方法不是一個覆載的方法
E不行也是因為c1非多形的叫用形式