JAVA中实参传递给形参调用方法后,实参为什么不改变?
比如这个小程序
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的值没改变?
因为 你的changeInt()方法虽然把b的值改变了 但是没尘则培有重盯厅新赋值给b
你把程序改成这样派唯试试
public class Java{
public static void main(String[] args)
{
int b =4;
b = changeInt(b);
System.out.println(b);
}
public static int changeInt(int a){
a =2;
System.out.println(a);
return a;
}
}
基本类型不会变,对象应该是可以。传的是引用。