面向对象测试题全解
一、问答题
值类型和引用类型的区别?
值类型和引用类型的区别在于,值类型的变量直接存放实际的数据,而引用类型的变量存放的则是数据的地址,即对象的引用。
值类型变量直接把变量的值保存在栈中,引用类型的变量把实际数据的地址保存在栈中,而实际数据则保存在堆中。
注意,堆和栈是两个不同的概念,在内存中的存储位置也不相同。
堆(Heap)一般用于存储可变长度的数据,如字符串类型堆中保存值和对象,调用完毕之后依然存在,由垃圾回收器查找栈中有无指向该值或对象的引用,无则从堆中删除;
栈(Stack)则用于存储固定长度的数据,如整型类型的数据int(每个int变量占用四个字节),栈由系统管理生存期,存储代码执行和调用路径,执行或调用完毕即从栈中清除。
由数据存储的位置可以得知,当把一个值变量赋给另一个值变量时,会在堆栈中保存两个完全相同的值;
而把一个引用变量赋给另一个引用变量,则会在堆栈中保存对同一个堆位置的两个引用,即在堆栈中保存的是同一个堆的地址。
在进行数据操作时,对于值类型,由于每个变量都有自己的值,因此对一个变量的操作不会影响到其它变量;
对于引用类型的变量,对一个变量的数据进行操作就是对这个变量在堆中的数据进行操作,如果两个引用类型的变量引用同一个对象,实际含义就是它们在堆栈中保存的堆的地址相同,因此对一个变量的操作就会影响到引用同一个对象的另一个变量。
(1) 值类型
包括:
您可能关注的文档
- 静电的产生与静电危害全解.ppt
- 静摩擦力(10.30)全解.ppt
- 静脉输液输血常见的反应及处理措施2()全解.ppt
- 静态扭矩-评价螺栓连接质量全解.ppt
- 静电现象及其应用全解.ppt
- 静设备安装全解.ppt
- 静液压传动装置(HST)全解.ppt
- 非上市公司股权激励全解.ppt
- 非创伤致死性胸痛全解.ppt
- 非常6+1全解.ppt
- 专项十三 复合句(含答案) 2026年中考人教版英语语法专项复习.doc.docx
- 专项十四 There be句型和主谓一致(含答案) 2026年中考人教版英语语法专项复习.doc.docx
- 专项14 构词法 学案(含答案)2025年中考人教版英语语法专项复习.doc.docx
- 静脉肾盂造影结石梗阻评估.ppt
- 《假期实践活动》教案-2025-2026学年冀教版(新教材)小学数学二年级下册.docx
- 老年结石病合并慢病综合诊疗.ppt
- 鹿角形肾结石复杂手术治疗.ppt
- 经皮肾镜超声碎石清石术.ppt
- 《参观爱国主义教育基地》教案-2025-2026学年冀教版(新教材)小学数学二年级下册.docx
- 《生活中的大数:整理与复习》教案(2课时)-2025-2026学年冀教版(新教材)小学数学二年级下册.docx
最近下载
- 学校落实“三重一大”事项集体决策制度实施细则.docx VIP
- 人教版初三中考化学方程式汇总.doc VIP
- 贵州省遵义市播州区2026年中考语文一模试卷(含答案).pdf VIP
- 《性爱与性行为》课件.pptx VIP
- 初三年级化学方程式总结2020.pdf VIP
- (新教材人教2019版选修3)高中生物必背知识点 第三章 基因工程(填空版+背诵版).pdf VIP
- 2024创业计划书电子版 .pdf VIP
- Reading explorer-F级教学精品课件-U3A.pptx VIP
- 智慧农业技术对乡村治理结构的重塑研究.pdf VIP
- Reading explorer-F级教学精品课件U2B.pptx VIP
原创力文档

文档评论(0)