//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";
}
}
Java中引用传递
最新推荐文章于 2023-04-19 18:11:20 发布