"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 s...) |
(無差異)
|
於 2013年3月30日 (六) 06:06 的最新修訂
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方法
| ||||||||||||||||||||