"SCJP 1.6版考題 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. publi...) |
(無差異)
|
於 2013年3月30日 (六) 05:34 的最新修訂
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);
解答
Ans: B C F
解說:
此題問,在第29行插入什麼可使輸出為100? 第30行,o.getY().getX()使用o物件的getY取得其成員物件參考變數y(指向一個Inner的物件), 再用這個y喚用getX方法,此方法依Inner類別會將 Inner物件中的x成員變數傳回。 這題可繪物件圖來看。
| ||||||||||||||||||||