- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第四章 对象基和简单数据对象
第四章 对象基础和简单数据对象 华中科技大学IBM技术中心 主要内容 对象的生命周期 CreateObjectDeom 对象的创建 声明一个变量来引用对象 为了声明一个变量来引用对象,你可以使用类或者接口的名字作为变量的类型 声明并没有创建新对象。在对该引用变量赋值前,该引用为空,称为空引用(null) 实例化对象 new操作符通过为新对象分配内存来实例化一个类 new操作符需要一个后缀参数,即构造器的一个调用 new操作符返回一个对它所创建对象的引用,通常该引用被赋值给具有适当类型的引用变量 如果new操作符返回的引用没有被赋给任何变量,那么当new操作符所在的语句执行完后,将无法访问该对象 初始化对象 构造器(Constructor):是一个用来创建对象的特殊方法,用来初始化对象的属性。 构造器的名字与类名相同 构造器没有返回值 构造器所包含的语句用来对所创建的对象进行初始化 没有参数的构造器称为“无参构造器” 每个Java类都至少有一个构造器,如果该类没有显式地声明任何构造器,系统会默认地为该类提供一个不包含任何语句的无参构造器 对象创建的实例 问 题 构造器的重载(Overload) 一个类可以包含多个构造器,这种情况成为构造器的重载 同一个类中的多个构造器通过参数的数目及类型的不同来区分 对象的使用 对象的使用有两种方式 操作或者检查它的变量 调用它的方法 要使用对象的实例成员,首先需要得到该对象的引用 实例成员与类成员 实例成员包括实例变量与实例方法 实例成员依赖于实例存在 同一个类的不同实例都拥有一份实例变量的拷贝,对某个实例的实例变量的操作不影响到其它实例 实例变量遵循对象的生命周期,随着对象的创建而创建,随着对象的消亡而消亡 必须通过实例的引用来调用实例方法 类成员包括类变量与类方法 类成员不依赖于实例存在 同一个类的不同实例共享同一个类变量,对类变量的改变会影响到所有实例 类变量的生存期不依赖于对象,其它类可以不用通过创建该类的实例,直接通过类名访问它们。同样,类方法也可以直接通过类名访问。 实例成员与类成员 实例变量的引用 简单名称 当实例变量处在作用域内(即对象的类的代码内) 的时候 限定名称 objectReference.variableName 当实例变量处在作用域外时使用限定名称 关于变量访问的说明 建议不要通过其它对象或类直接操作对象的变量,可能引起无效值 理想情况下,类会提供一些方法,其他对象可以通过他们检查或修改变量,确保值有效,而且如果变量的类型和名称发生了变化,不会影响它的使用者 在某些情况下,可以允许对对象变量的直接访问,以使类更小更简单,也可使变量适用于更广泛范围; JAVA编程语言提供了一个访问控制机制,通过这种机制,类可以决定那些其它的类可以直接访问它的变量(第五章中介绍)。 调用对象的方法 使用限定名称来调用对象的方法 objectReference.methodName(argumentList); 或者 objectReference.methodName(); 关于方法调用 方法被声明为public,就可以被任何其它的类所访问。有时,类需要限制对它的方法的访问 类可以使用与控制变量访问相同的机制来对它的方法进行访问控制(第五章中介绍) 对象的清除 JAVA运行时环境在当对象不再被使用的时候清除它们,这个过程就是所谓的“垃圾收集”(garbage collection) Java的垃圾收集器自动扫描对象的动态内存区,对被引用的对象加标记,然后把没有引用的对象作为垃圾收集起来并释放。 垃圾收集器作为一个线程运行。当系统的内存用尽或程序中调用System.gc()要求进行垃圾收集时,垃圾收集线程与系统同步运行。否则垃圾收集器在系统空闲时异步地执行。 无用对象的判定 当某个对象不在被任何引用变量引用时,该对象是无用对象,将被清除。一般有如下两种情况: finalize()方法 在对对象进行垃圾收集前,Java运行时系统会自动调用对象的finalize()方法来释放系统资源。 某些情况下,程序员可能需要实现该方法来释放不由垃圾收集器所控制的资源。但这种情况非常少见 finalize()方法是在Object中有缺省实现,在用户自定义的类中,它可以被覆盖,但一般在最后要调用父类的finalize()方法来清除对象所使用的所有资源 问题一 下列程序的运行结果? 问题二 现有一个Point和Rectangle对象,代码执行后有多少引用指向它们?有没有对象需要垃圾收集? 字符和字符串 Java API提供了三个处理字符数据的类: Character:这个类的实例可以容纳单一的字符数值。该类还定义了一些简洁的方法来操作或者检查单一字符数据。 S
您可能关注的文档
- 第四章 公正—社会治理的最重要道德原则.ppt
- 第四章 关系系及其查询优化.ppt
- 第四章 兼防直接触电击和间接接触电击的.ppt
- 第四章 冲突规和准据法.ppt
- 第四章 其他传器的初步应用.ppt
- 第四章 农产品给与需求.ppt
- 第四章 几何图初步从不同方向看立体图形得到平面图形.ppt
- 第四章 出纳管的详细设计.ppt
- 第四章 分离变(傅立叶级数)法1.ppt
- 第四章 分离机(xb).ppt
- 2025年智能电网柔性直流输电技术在我国西部地区应用前景.docx
- 7.2 弹力-人教版八年级物理下册.pptx
- 2025年智能电网柔性直流输电技术在智能变电站中的应用研究.docx
- 2025年智能电网柔性直流输电技术在智能电网智能化存储中的应用.docx
- 2025年智能电网柔性直流输电技术在新能源并网中的应用研究.docx
- 2025年智能电网柔性直流输电技术在智能电网智能化控制中的应用.docx
- 2025年智能电网柔性直流输电技术在智能电网智能化预测中的应用.docx
- 2025年智能电网柔性直流输电技术在智能电网智能化服务中的应用.docx
- 2025年智能电网柔性直流输电技术在智能电网智能化运维中的应用.docx
- 2025年智能电网柔性直流输电技术智能化保护系统研究.docx
原创力文档


文档评论(0)