引用类型与值类型
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]); } }
相关文章推荐
- 字符串置换
- [android] android下文件访问的权限
- Messenger(信使)
- 【解决方法】UITableView 性能优化笔记
- ZOJ 1023 University Entrace Examination(稳定匹配变形)
- 3d
- 2048
- Tomcat7.0 Can't load AMD 64-bit .dll on a IA 32-bit platform
- 安卓通知的使用系列3:对话框通知的使用之警告对话框
- Android事件机制
- 新年后的英语学习
- swift之图片浏览器
- Cocos2d-x 3.x数据存储(UserDefault)
- HOJ 2985 Wavio Sequence(最长递增子序列以及其O(n*logn)算法)
- linux命令之ls
- JSP/Servlet认识
- 2.继承、重写、抽象
- HOJ 2985 Wavio Sequence(最长递增子序列以及其O(n*logn)算法)
- VBA清除Excelpassword保护,2003/2007/2010均适用
- 出差(六)