- 1、本文档共23页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Java课件 第八讲 无用对象回收19
第8讲 无用对象回收 要点 简单变量与引用变量 变量的有效期与对象的生存期 无用对象回收 简单变量与引用变量 Java语言的变量分类 简单变量 只有固定的几种类型 字节型、短整型、整型、长整型、单精度浮点数,双精度浮点数、字符型和逻辑型 引用变量 除上面列出之外的其它所有类型 例:字符串、数组、对象等 简单变量与引用变量 简单变量的存储形式 存放的是数值本身 利用赋值语句将变量a赋给变量b时,变量a的值将复制给变量b 定义一个简单变量之后,它立刻有随机的数值,如果直接使用该变量,会得到无法预料的结果 简单变量需要进行初始化,以保证“先赋值,再使用”的原则 简单变量与引用变量 引用变量的存储形式 存储的仅仅是一个地址(指针),指针指向实际的对象所在的内存地址 使用前必须初始化,使其指向内存中实际存在的一个对象 用赋值语句将变量a赋给变量b时,对象不会复制,而是直接让b也指向同一个对象 简单变量与引用变量 引用变量的初始化 当定义一个引用变量时,它只是空指针,不指向任何地址 例:BoardGame myGame; 用new关键字创建对象时,Java会在内存中分配适当的空间,将新建对象放进该空间 例:new BoardGame(); 简单变量与引用变量 引用变量的初始化 用new关键字创建的对象之后,如果不立即用一个变量指向,则对象会丢失。 new关键字应当紧跟在赋值语句后面 例:BoardGame myGame = new BoardGame(); 如果给引用变量赋一个新的对象,系统会新建一个对象,丢弃原先的对象 例:myGame = new BoardGame(); 简单变量与引用变量 类成员变量的初始化 简单变量 默认初始化为0(整型、浮点型变量),空值(字符型变量),或false(逻辑变量) 可以直接使用 引用变量 默认初始化为空指针,不指向任何对象 使用前必须先用new关键字进行初始化 变量的有效期与对象的生存期 引用变量与对象的分离 在Java中,引用变量与对象是分开的 通过赋值语句,多个变量可以指向同一对象 存在没有变量的对象,如字符串 存在没有对象的变量,如尚未初始化的变量 变量的有效期≠对象的生存期 变量的有效期与对象的生存期 引用变量的有效期 从变量定义开始,到变量所处区块结束为止 三类变量的有效期 类变量(类的静态变量) 类的成员变量 函数中的局部变量 有效期长度比较 类变量成员变量局部变量 变量的有效期与对象的生存期 类变量的有效期 类变量的产生:当程序第一次出现类时,不管是否创建了类的实例,都会为类形成一个模板,此时类变量已经在模板中形成,并且自动初始化; 类变量的消失:类变量的有效期直到类消失为止,而一般情况下,除非程序中止,否则类不会消失的。因此类变量的有效期直到程序结束为止。 变量的有效期与对象的生存期 成员变量的有效期 成员变量的产生:从对象生成起。当用new关键字生成一个对象之后,它的成员变量就产生了,并且自动初始化; 成员变量的消失:至对象被回收为止。当对象失去作用,被自动回收之后,成员变量即自动消失; 变量的有效期与对象的生存期 局部变量的有效期 局部变量的产生:从变量定义之处开始。局部变量不会自动初始化,需要手动初始化之后才能使用; 局部变量的消失:到变量所在的区块结束位置为止; 区块的含义:函数中用大括号括起来的部分,不一定是整个函数; 变量的有效期与对象的生存期 局部变量的有效期 public class LocalVarDemo { public static void main(String[] args) { String var1 = 局部变量,在整个函数内都有效。; if (true) { String var2 = 局部变量,只在if块内有效。; System.out.println(var2); System.out.println(var1); } else { System.out.println(var2); } String var2 = 另一个局部变量,定义在if块之后,因此不会混淆。; System.out.println(var2); System.out.println(var1); }} 变量的有效期与对象的生存期 对象的生存期 对象的产生:被new关键字生成开始 对象的消失:直到该对象不能再通过任何变量被访问到为止 只要对象被某个引用变量所指向,不管变量是类变量、成员变量,还是局部变量,对象都会一直生存着 变量的有效期与对象的生存期 对象生存期——案例说明 public class ObjLifeDemo { public String pubStr1;
您可能关注的文档
最近下载
- 配电箱采购合同协议书范本详细(2025年).docx VIP
- 部编版语文写字表六年级上册字帖.pdf VIP
- (高清版)B/T 24421.1-2023 服务业组织标准化工作指南 第1部分:总则.pdf VIP
- 2022年洛阳理工学院教师招聘笔试试题及答案解析.docx VIP
- 城市停车设施规划导则.docx VIP
- 天然气发电厂-燃气-蒸汽联合循环发电机组PPT课件.pptx VIP
- 《《中文核心期刊目录(2017年版)》》.doc VIP
- 基孔肯雅热防控技术指南(2025年版)测试题及参考答案.docx VIP
- 工程测量技术 电子水准仪 电子水准仪.ppt VIP
- 党支部贯彻落实八项规定扎实推进作风建设工作专题党课ppt课件.pptx VIP
文档评论(0)