2009年2月9日 星期一

第55題

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.
答案:D
參考:7-9 多型
-------------------------------------------------------------
21. RaceCar racer = new RaceCar();
22. Car car = new RaceCar();
23. Vehicle vehicle = new RaceCar();

//racer ,car ,vehicle 實體皆為RaceCar
24. System.out.println(racer.speed() + ", " + car.speed()
25. + ", " + vehicle.speed());
//皆call 13. class RaceCar extends Car{public int speed(){return 150;}}
都回傳150

沒有留言:

張貼留言