阿里巴巴面试题:考察Java函数传值特性

题目

class Value{ 
    public int i=15;
}
public class Test{ 
    public static void main(String argv[]){ 
        Test t=new Test( );
        t.first( );
    }
 
public void first( ){ 
    int i=5;
    Value v=new Value( );
    v.i=25;
    second(v,i);
    System.out.println(v.i);
}
 
public void second(Value v,int i){ 
    i = 0;
    v.i = 20;
    Value val = new Value( );
    v = val;
    System.out.println(v.i+" "+i);
   }
上述代码输出_______
A:15 0 20
B:15 0 15
C:20 0 20
D:0 15 20

解题思路

其实很简单的题目,但又很容易做错,好比如我也选了B…

画了张图理解

所以也就输出了 15,0,20

页面下部广告