Java引用

Posted 我的下铺刚田武

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java引用相关的知识,希望对你有一定的参考价值。

例1:

package com.jike.reference;
class Ref1{
	int temp = 10;
}
public class test01 {

	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);
	}
	public static void tell(Ref1 r2){
		r2.temp = 30;
	}
}

 输出:

20
30

 例2:

package com.jike.reference;

public class test02 {
	public static void main(String[] args) {
		String str1 = "Hello";
		System.out.println(str1);
		tell(str1);
		System.out.println(str1);
	}
	public static void tell(String str2){
		str2="jike";
	}
}

 输出:

Hello
Hello

 string类型的变量str1不会被改变,str2="jike"会在堆中开辟另一个新的内存地址存放“jike”,原本的str1仍然指向"Hello"。

例3:

package com.jike.reference;
class Ref2{
	String temp = "hello";
}
public class test03 {

	public static void main(String[] args) {
		Ref2  r1 = new Ref2();
		r1.temp="jike";
		System.out.println(r1.temp);
		tell(r1);
		System.out.println(r1.temp);
	}
	public static void tell(Ref2  r2){
		r2.temp="xueyuan";
	}
}

 输出:

jike
xueyuan

 例1和例3是相同类型的,例2涉及到string类型有些特殊。

 

以上是关于Java引用的主要内容,如果未能解决你的问题,请参考以下文章

引用向量的部分片段?

片段对话框对活动的松散引用

Java中String的 "引用" 传递

一道经典面试题:字符串在Java中如何通过“引用”传递

五String在Java中是传“引用”

未解决的对“片段”部分中的符号“”的引用