5.6(引用和赋值)

什么是引用?什么事赋值?

直接上栗子,代码:Temp类

class Temp{
	int i;		//基本数据类型
	public void show(){
		System.out.println(i);
	}
}
main:
	public static void main(String[] args) {
		//new了一个t,这个可以说是一个引用类型的数据,让t指向一块内存
		Temp t = new Temp();
		t.i = 10;
		
		Temp t2 = t;//这句话就是t2也指向t,new出来的那块内存
		t2.i = 99;
		
		t.show();	//t输出:99
		t2.show();	//t2输出:99
	}

输出的都是99,为什么呢哩?

看内存模型:

解析:

1,数据类型有两种,一种是基本数据类型,一中是引用类型(看第一张图)

2,当 new 了一个类,就会分配一块内存, t 就会指向那块内存,当执行赋值i=3语句后,内存中i =3;

3,Temp t2 = t,就意思是 t2 的引用也指向 t 的内存块,它们就会共用这块内块(红箭头所示)这就是引用。因为t2没用 new ,所以就不会分配内存

4,当执行 t2.i=99是,就改变了原来i的值,现在内存中的 i 就变成了 i=99。


赋值是基本类型数据中用=号来赋值

i 的值就是99

例:

		//基本类型用=号就是赋值
		int i = 99;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值