首先,Java中的函数传参只有值传递,不存在其他的形式 如果是传递基本数据类型,那没什么好说的,传的是值。 如果是传递的对象,传递的也是值,这个“值”是该对象的引用的副本,本质上是一个内存地址。 举例如下:
public static void main(String[] args) {
String s = "aaa";
change(s);
System.out.println(s);
}
public static void change(String s){
s="bbb";
}
在函数change(String s)中的s是main方法中s的一个副本,当执行代码s="bbb"时,只是将s这个副本从指向"aaa"变成指向字符串常量池中的"bbb",对于main中的s,并没有影响,它依然指向"aaa"。
转载请注明原文地址: https://www.6miu.com/read-13391.html