SCJP 1.6版考題 055

出自 陳富國維基館
於 2013年3月30日 (六) 07:12 由 Ikk (對話 | 貢獻) 所做的修訂 (新頁面: 11. abstract class Vehicle{public int speed(){return 0;}} 12. class Car extends Vehicle{public int speed(){return 60;}} 13. class RaceCar extends Car{public int speed(){return 150;}...)
(差異) ←上個修訂 | 最新修訂 (差異) | 下個修訂→ (差異)
前往: 導覽搜尋
11. abstract class Vehicle{public int speed(){return 0;}}
12. class Car extends Vehicle{public int speed(){return 60;}}
13. class RaceCar extends Car{public int speed(){return 150;}}
...
21. RaceCar racer = new RaceCar();
22. Car car = new RaceCar();
23. Vehicle vehicle = new RaceCar();
24. System.out.println(racer.speed() + ", " + car.speed()
25. + ", " + vehicle.speed());


What is the result?
  A. 0, 0, 0
  B. 150, 60, 0
  C. Compilation fails. 
  D. 150, 150, 150
  E. An exception is thrown at runtime.

解答


Ans: D

解說: speed方法為物件方法,是那個版本(Vehicle、Car、RaceCar)的speed依實際物件型態而定。