//Java中的引用传递 class Ref1{ int temp = 10 ; String Str = "hello"; } public class HelloWorld { public static void main(String[] args){ //案例一 /* Ref1 r1= new Ref1(); r1.temp = 20 ; System.out.println(r1.temp); tell(r1); System.out.println(r1.temp); */ /* * 案例二 String temp = "Hello"; System.out.println(temp); tell(temp); System.out.println(temp); //打印的效果还是Hello,因为String类型不可变 */ Ref1 r1 = new Ref1(); r1.Str = "asdasd"; System.out.println(r1.Str); //此时的类中的值被改变-->原因是因为对r1进行了实例化,相当于 //开辟了一块新的内存空间用来存储yangyuanxin这个字符串 tell(r1); } //案例一 /* //值被改变 public static void tell(Ref1 r2){ r2.temp = 30 ; } */ //案例二 public static void tell(String str2){ str2 = "jAKE"; } //案例三 //.....其实在这里创建一个方法实现上述的过程也是一样的效果 public static void tell(Ref1 str2) { str2.Str = "yangyuanxin"; } }
时间: 2024-10-01 17:50:22