
在Java中,只有按值调用(值传递),没有按引用调用。
基本数据类型 不改变其值public static void main(String[] args) {
int num = 6;
System.out.println("传之前"+num);
add(num);
System.out.println("传之后"+num);
}
public static void add(int num){
System.out.println(num);
num = 1;
System.out.println(num);
}
基本数据类型传递时,不会传递原本数据,而是拷贝一个副本,传递副本,在方法引用完成后,副本也随之消失,不改变原始数据
public static void main(String[] args) {
List list = new ArrayList<>();
list.add("abcd");
System.out.println("传之前"+list.toString());
aList(list);
System.out.println("传之后"+list.toString());
}
public static void aList(List list){
list.add("fff");
}
list只是指向引用地址