您的位置:首页 > 其它

引用类型与值类型

2016-02-29 21:41 204 查看
每一个值类型都有一个独立的内存区域保存自己的值,调用它的时候调用的是他的值,而应用类型调用的是内存中的地址
比如a1=18,这时候在内存中保存的是18,当把a1付给a2的时候,他们两个应用的是同一个内存空间,a2的值会保存为a1的值,当把a2改为20是,应为a1和a2引用的是同一个所以a1也变成20了,这是引用类型,
值类型是当把a1付给a2时会为a2在开一块新的空间保存a1的值。当把a2改成20时就会在a2的空间保存20,和a1就没关系了。


public class text2 {

public static void main(String[] args) {

//内存划分为 栈 和 堆

//值类型:基本数据类型
int i= 1;//保存在栈里
int m = i; //把值复制给m

i = 11 ;
System.out.println(m);

//引用类型引用类型:除了基本数据类型,数组,String,类
//实际内容存在堆,栈只存对应到堆里的地址

int [] a = new int [] {1,2,3,4};
int [] b = a; // 把对应到堆的地址给了b

a[2] = 100 ;
System.out.println("b[2]="+b[2]);

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: