在方法参数传递中当变量是8大基本数据类型的时候,就是传值,在方法里被修改了这个也不会影响
当变量是Object类型的时候,就是传引用看图吧
传值就是你改变这个值,不会改变原值;
传引用就是你改变这个值,不会改变原值;
java方法基本数据类型是传值,对象类型传引用,这是千真万确的。
当参数是对象时,无论方法体内进行了何种操作,都不会改变实参对象的引用。
当参数是对象时,只有在方法内部改变了对象的内容时,才会改变实参对象内容。
传值就是你改变这个值,不会改变原值。例如
int a=1;
把a作为参数经过方法调用,在方法中改变a的值如。
a=2;
在方法中a是变成2了。
但是在外面a还是1。.
如果是传引用,值是会变的。
例如这样
public class Test {
public void test(List list){
list.remove(0);
list.add("b");
}
public static void main(String[] args) {
String a="123";
List list=new ArrayList();
list.add(a);
new Test().test(list);
System.out.println(list.get(0));
}
}
基本数据类型传递时值传递;
对象传递都是引用传递;
你可以传一个int和integer,改变一下值在输出看看,就明确了
Java只有值传递