I got a mock question as following, the result should be 10, 0, 20. But I solve it with the result 10, 0, 30. the problem is why v.i become to 20 at last? How is the procedure make the v.i become into 20?
Thanks every one
Menghan
==========================================================
Given the following code what will be the output?
class ValHold{
public int i = 10;
}
public class ObParm{
public static void main(
String argv[]){
ObParm o = new ObParm();
o.amethod();
}
public void amethod(){
int i = 99;
ValHold v = new ValHold();
v.i=30;
another(v,i);
System.out.println(v.i);
}//End of amethod
public void another(ValHold v, int i){
i=0;
v.i = 20;
ValHold vh = new ValHold();
v = vh;
System.out.println(v.i+ " "+i);
}//End of another
}
1) 10,0, 30
2) 20,0,30
3) 20,99,30
4) 10,0,20