码迷,mamicode.com
首页 > 编程语言 > 详细

Java引用

时间:2019-02-26 17:12:25      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:str1   new   ring   enc   pack   pre   变量   java   int   

例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引用

标签:str1   new   ring   enc   pack   pre   变量   java   int   

原文地址:https://www.cnblogs.com/zhhy236400/p/10438307.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!