SCJP 1.6版考題 021

出自 陳富國維基館
於 2013年3月30日 (六) 08:32 由 Ikk (對話 | 貢獻) 所做的修訂 (新頁面: 1. class Batman{ 2. int squares = 81; 3. public static void main(String[] args){ 4. new Batman().go(); 5. } 6. void go(){ 7. incr(++squares); 8. System.out....)
(差異) ←上個修訂 | 最新修訂 (差異) | 下個修訂→ (差異)
前往: 導覽搜尋
1. class Batman{
2.   int squares = 81;
3.   public static void main(String[] args){
4.     new Batman().go();
5.   }
6.   void go(){
7.     incr(++squares);
8.     System.out.println(squares);
9.   }
10. void incr(int squares){squares += 10;}
11. }


What is the result?

   A. 81
   B. 82
   C. 91
   D. 92
   E. Compilation fails.
   F. An exception is thrown at runtime. 

解答


Ans: B

解說:

go方法印出的squares是Batman的squares,incr所變更的squares是本身的方法變數
此是在考call by value觀念