2009年2月17日 星期二

第141題

Given:
11. class A{
12. public void process(){System.out.print("A, ");}
13. class B extends A{
14. public void process() throws IOException{
15. super.process();
16. System.out.print("B, ");
17. throw new IOException(),
18. }
19. public static void main(String[] args){
20. try{new B().process();}
21. catch(IOException e){System.out.println("Exception");}
22. }

What is the result?
A. Exception
B. A, B, Exception
C. Compilation fails because of an error in line 20.
D. Compilation fails because of an error in line 14.
E. A NullPointerException is thrown at runtime.
答案:D
參考:9-2 Java例外事件與處理機制、9-3 使用throw自行產生例外事件、9-5 使用throws拋出例外事件。

-----------------------------------

14行 子類別B 裡的process 要改寫 父類別A的 process, 但 父類別的 process 並沒有 throws IOException

沒有留言:

張貼留言