- 1、本文档共25页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第4章 初始化和清理
Java程序设计语言 王 清 第4章 初始化和清理 随着计算机革命的发展,“不安全”的编程方式已逐 渐成为编程代价高昂的主因之一。 构造函数(constructor) 函数重载(overload) 成员初始化探索(member initialization) 垃圾回收机制(garbage collector) 4.1 构造函数 在Java中,通过提供“构造函数”这种特殊方法,类的设计者 可以确保每个对象都会得到初始化 (即对象的创建和初始 化是捆绑在一起,不可分离的)。 构造函数的命名:采取和类相同的名称。 (同时无返回值,因此其和一般函数不同) class Test { Test() { System.out.println(“Creating Test”); } } 和其它方法一样,构造函数也可以带有形式参数, 以便指定如何创建对象。 class Tree { int height=1; Tree(int i){ height=i; } } 4.2 函数重载(overload) 任何程序设计语言都具备的一项重要特性就是对名 字的运用。名字起的好可以使代码更容易理解。 大多数程序设计语言(尤其是C语言)要求为每个函数 提供独一无二的标识符。这就意味着不能用名为 print的函数显示出整数之后,又用一个名为print的 函数显示浮点数。但是我们日常生活中,相同的词 却可以表达不同的语义。如: 洗(衣服), 洗(车), 洗(鞋) 构造函数是另一个需要提供重载函数的原因。 既然构造函数的只能有一个名字(类名),那么要想以 多种方式创建一个对象该怎么办? 比如你要创建一 个类,既可以用标准方式进行初始化,也可以从文 件中读取信息来进行初始化。这就需要两个构造函 数,一个取变量值作为其参数, 一个取字符串作为 其参数--该字符串表示初始化对象所需要的文件 名。 4.2.1. 如何区分重载方法 每个重载方法必须具有独一无二的参数列表 (包括顺序),注意不包括返回值类型。 f(char ch), f(int i), f(double d), f(byte b) g(int i, char ch), g(int i, double d) p(int i, char ch), p(char ch, int i) 4.2.2. 涉及基本类型的重载 基本类型能从一个“较小”的类型自动提升到一个“较大”的类型,此过程一旦牵涉到重载,可能造成一些混淆。 void f(int); void f(long); void f(float); void f(double); short sh1=1, sh2=2; short sh=sh1+sh2; //错误 short sh=(short)(sh1+sh2); //正确 表达式自动类型转换 4.3 进一步探索 1.缺省构造函数(default constructor) 缺省构造函数(又名“无参”构造函数),如果你写的类中没有构造函数,那么编译器会自动帮你创建一个缺省的构造函数。 class Tree { int i; } public class HelloWorld{ public static void main(String[] args){ Tree tree=new Tree(); } } 但是,如果你已经定义了一个构造函数,那么编译 器就不会帮你自动创建缺省构造函数。 class Tree{ int height; Tree(int i){ height=i; } } 如果你希望在方法内部获得当前对象的引用,唯一的选择是使用this关键词(注意this只能在方法的内部使用,表示“调用方法的那个对象”的引用)。 本对象 class A{
您可能关注的文档
- 2009年全省地税系统计算机能手选拔考试试题.doc
- C++期末模拟试题及答案 2010.doc
- B15 字符串.ppt
- JavaWeb试卷五.doc
- Java中常用的查找方法——顺序查找和二分查找.docx
- chap4JAVA类和对象一.ppt
- 9 类的无参方法.ppt
- JAVA语言复习题一.doc
- java考试试题(一).doc
- Java测试3答案.doc
- springbooot+vue基于java的房屋维修系统毕业论文.doc
- 中国消防救援学院《单片机系统实验》2023-2024学年第一学期期末试卷.doc
- 2025年溧阳纺织化学品项目申请.pptx
- 景区门票包销合同模板(3篇).docx
- 【股票技术指标学习指南】第七章第三节货币需要量的测算.doc
- 2025春 _ 人教版七年级英语下册【unit4】看音标写单词.doc
- 2025春 _ 人教版七年级英语下册【unit5】看音标写单词.doc
- 2025春 _ 人教版七年级英语下册【unit6】看音标写单词.doc
- 2025春 _ 人教版七年级英语下册【unit7】看音标写单词.doc
- 2025春 _ 人教版七年级英语下册【unit8】看音标写单词.doc
最近下载
- 2.1 走进化学实验室(第1课时)(课件)八年级化学全一册(沪科版五四学制2024).pptx VIP
- 部编版二年级上册语文第二单元教案.pdf VIP
- 2024广西高质量共建“一带一路”谱写人类命运共同体新篇章公需课答案.docx VIP
- 公务员考试-2019公考核心政策解读1.doc VIP
- 部编版二年级上册语文第二单元教案.docx VIP
- 贵州省2023-2024学年高一上学期期末英语试题(含答案).pdf VIP
- DND法术列表分析和总结.pdf VIP
- 安利索ACVF门机变频器调试说明书(中文版).doc
- 高中数学 导数的概念及其几何意义讲义 新人教版选修2-2.doc VIP
- 电机拖动与电气控制 第6章 电气控制电路的基本控制环节.pptx VIP
文档评论(0)