public class Java{
public static void main(String[] args)
{
int b =4;
changeInt(b);
System.out.println(b);
}
public static int changeInt(int a){
a =2;
System.out.println(a);
return a;
}
}
为什么changeInt(b)之后输出的是4?
把b传到changeInt方法中之后为什么b的值没改变?作者: 何苦似梦离 时间: 2014-2-11 15:22
生命周期原因
我给改了一下
public static void main(String[] args)
{
int b =4;
new ActualFormalParameter().changeInt(b);
System.out.println(b);
b = new ActualFormalParameter().changeInt(b); //把改变后的形参的值赋值给b,不赋值b的值仍不改变(没有引用传递,只有值传递)
System.out.println(b);
}
int a = 2;
public /*static*/ int changeInt(int a){
this.a = a;
// a = this.a;
System.out.println(a);
return a; }