所谓引用传递就是指将堆内存空间的使用权交给多个栈内存空间
例子<1>
public class Aliasing { int temp = 30; public static void main(String[] args) { // TODO 自动生成的方法存根 Aliasing d1 = new Aliasing(); d1.temp = 50; System.out.println(d1.temp); fun(d1); System.out.println(d1.temp); } public static void fun (Aliasing d2){ d2.temp = 1000; } }
例子<2> 其中传递的是string对象,由于string的内容是不可以修改,所以str1的值还是hello,如果传递的是对象的string属性,那是可以修改的
public class Aliasing { int temp = 30; public static void main(String[] args) { // TODO 自动生成的方法存根 String str1 = "hello"; System.out.println(str1); fun(str1); System.out.println(str1); } public static void fun (String str2){ str2 = "hello2"; } }
例子<3>传递的是对象的string属性
public class Aliasing { String temp = "hello"; public static void main(String[] args) { // TODO 自动生成的方法存根 Aliasing d1 = new Aliasing(); d1.temp = "world"; System.out.println(d1.temp); fun(d1); System.out.println(d1.temp); } public static void fun (Aliasing d2){ d2.temp="HELLO"; } }
时间: 2024-11-05 15:25:45