2009年2月11日 星期三

第107題

Given:
10. class Inner{
11. private int x;
12. public void setX(int x){this.x = x;}
13. public int getX(){return x;}
14. }
15.
16. class Outer{
17. private Inner y;
18. public void setY(Inner y){this.y = y;}
19 public Inner getY(){return y;}
20. }
21.
22. public class Gamma{
23. public static void main(String[] args){
24. Outer o = new Outer();
25. Inner i = new Inner();
26. int n = 10;
27. i.setX(n);
28. o.setY(i);
29. //insert code here
30. System.out.println(o.getY().getX());
31. }
32. }
Which three code fragments, added individually at line 29, produce the output 100? (Choose three.)
A. n = 100;
B. i.setX(100);
C. o.getY().setX(100);
D. i = new Inner(); i.setX(100);
E. o.setY(i); i = new Inner(); i.setX(100);
F. i = new Inner(); i.setX(100); o.setY(i);
答案:BCF
----------------------------------------------------------------------------------
B. i.setX(100);
C. o.getY().setX(100); //o.getY()=i >>同b
參考:7-4 封裝、8-1 變數種類與其生命期

沒有留言:

張貼留言