2009年2月11日 星期三

第90題

Given:
11. interface DeclareStuff{
12. public static final int EASY = 3;
13. void doStuff(int t);}
14. public class TestDeclare implements DeclareStuff{
15. public static void main(String[] args){
16. int x = 5;
17. new TestDeclare().doStuff(++x);
18. }
19. void doStuff(int s){
20. s += EASY + ++s;
21. System.out.println("s " + s);
22. }
23. }

What is the result?
A. s 14
B. s 16
C. s 10
D. Compilation fails.
E. An exception is thrown at runtime.

答案:D
參考:7-6 介面

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

19. void doStuff(int s) 企圖改寫 13. void doStuff(int t); 但是13因為在interface裡面所以預設權限是public, 而19 行是在 public class 裡面, 預設是default. Default 不能改寫public.

沒有留言:

張貼留言