全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基本类型变量和引用类型变量基本类型变量和引用类型变量分配空间类型不同。不能肯定地说基本类型变量就存储在栈空间里而引用变量就分配的是堆空间,你耐心读完这些东西,不算多,然后进入正题。假设基本类型变量分配的是栈 (之所以这样假设个人感觉更严谨一些),如:int i= 3; String s = “nihao!” 等都是基本类型的变量,它们的值就存在栈空间里(先这么肯定的说是为了演示问题本质)。Int i = 3;String s = “nihao!”栈空间而 像 PassRef obj; obj = new PassRef(); obj 则是引用,引用存在栈里,而实际的对象 是存在堆空间里。New PassRef();Int I ;PassRef obj 栈堆 堆看下面的代码,根据上面的分配方式,可以这样解释:public class PassRef int x,y;public static void main(String args) int m = 3;int n = 5;change(m,n);System.out.println(m=+m+,n=+n);PassRef obj = new PassRef();obj.x = 1;obj.y = 2;changeObj(obj);System.out.println(obj.x=+obj.x+,obj.y=+obj.y);public static void change(int i,int j)i = i + j;j = i - j;i = i - j;public static void changeObj(PassRef ref)ref.x=ref.x+ref.y;ref.y=ref.x-ref.y;ref.x=ref.x-ref.y;输出结果是:m=3,n=5obj.x=2,obj.y=1m和n的值经过change()方法后没有变化,原因在于调用change(int i,int j )方法时为i和j 在栈里分配了空间,调用方法仅仅是把m的值传给了i,把n的值传了j,change()在执行时就与m、n无关了,在chagne()方法内交换了i和j的值,这些值是存储在为i和j 分配的新存储空间里的,方法结束后,为i和j分配的存储空间被释放,m 、n的值依然是之前的3、5。方法执行调用changgeObj(PassRef ref)m=3;n=5;m=3;n=5;i=3j=5m=3;n=5;i=5j=3方法执行结束双回到原始状态m=3;n=5;PassRef obj栈空间new PassRef();obj.x=1;obj.y=2;堆空间调用changeObj()方法在调用changeobj(PassRef ref)方法时,情况与前者不一样,它的参数为PassRef 类型的引用,内存是这么分配的:PassRef objPassRef ref栈空间引用指向new PassRef();obj.x=1;obj.y=2;堆空间new PassRef();obj.x=1;obj.y=2;PassRef obj方法结束后改变x和y的值并释放ref 经过上面的图示及执行过程中内存的动态分配,我想我不必说什么了,你应该很清晰了,希望对初学java的你有所帮助! 调用chang
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年品牌总监年底工作总结及2026年工作计划
- 体育运动教练岗位招聘面试题与参考回答(某大型国企)2025年
- 华联超市的采购管理
- 2025年工业知识图谱服务合同
- 真实医疗法律案例
- 恩施导游考试题库及答案
- 导游实务试题及答案
- 陕师大教育技术学论文:Blended Learning初步研究
- 2025年医务人员年终工作心得总结范文(四篇)
- 2025年《药品注册管理办法》考试试题及答案
- 施工生产管理培训课件
- 算力中心建设项目施工方案
- 早产儿生后黄金1小时管理
- 2025年大队委员笔试题库及答案
- 2025年网球理论基础知识考试题及答案
- 2025江西吉安市遂川县城控人力资源管理有限公司招聘34人笔试考试参考试题及答案解析
- 初中期中质量分析会校长讲话:正视短板精准发力共筑初中教学质量新高度
- 2025-2026学年度上学期一中高三11月月考物理试卷
- 苏炳添的精神
- 2025版皮肤科疾病常见症状及护理培训
- 吉林省长春市东北师范大学附属实验学校(经开)2024-2025八年级下期初数学考试(含答案)
评论
0/150
提交评论