【愚公系列】2021年12月 Java教学课程 23-对象内存和成员变量和局部变量

举报
愚公搬代码 发表于 2021/12/29 22:13:01 2021/12/29
【摘要】 一、对象内存图 1.单个对象内存图【理解】 2.个对象内存图【理解】总结:多个对象在堆内存中,都有不同的内存划分,成员变量存储在各自的内存区域中,成员方法多个对象共用的一份 3.多个对象指向相同内存图【理解】总结 :当多个对象的引用指向同一个内存空间(变量所记录的地址值是一样的)只要有任何一个对象修改了内存中的数据,随后,无论使用哪一个对象进行数据获取,都是修改后的数据。 二、成员变量和局...

一、对象内存图

1.单个对象内存图【理解】

在这里插入图片描述

2.个对象内存图【理解】

在这里插入图片描述

  • 总结:

    多个对象在堆内存中,都有不同的内存划分,成员变量存储在各自的内存区域中,成员方法多个对象共用的一份

3.多个对象指向相同内存图【理解】

在这里插入图片描述

  • 总结 :

    当多个对象的引用指向同一个内存空间(变量所记录的地址值是一样的)

    只要有任何一个对象修改了内存中的数据,随后,无论使用哪一个对象进行数据获取,都是修改后的数据。

二、成员变量和局部变量

1.成员变量和局部变量的区别

  • 类中位置不同: 成员变量(类中方法外)局部变量(方法内部或方法声明上)
  • 内存中位置不同: 成员变量(堆内存)局部变量(栈内存)
  • 生命周期不同: 成员变量(随着对象的存在而存在,随着对象的消失而消失)局部变量(随着方法的调用而存在,醉着方法的调用完毕而消失)
  • 初始化值不同: 成员变量(有默认初始化值)局部变量(没有默认初始化值,必须先定义,赋值才能使用)
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。