- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第五课 类和对象(下) 回顾 类与对象的关系是什么? 类中的成员包括哪两种? public与private权限有什么不同? 封装对类成员定义的一般做法是什么? 试着阐述面向对象中的继承与多态? 构造方法的作用是什么? 如何创建一个对象? “世间万物皆对象”的说法正确吗? 本课案例 设计人类(Person类),描述人的年龄、身高、体重,重载三个构造方法,分别初始化年龄、年龄和身高、年龄及身高和体重 本章目标 方法重载 重载构造方法 对象在内存中的存放形式 this关键字 回顾函数 在Java中,函数无需C语言中的前向声明,只要直接定义即可; Java中,函数被称为方法; 定义一个方法的一般形式: [访问权限] 返回值类型 方法名称(形参列表) { 方法主体; } 我们更关注的是方法原型,对于方法原型的三个主要组成部分应当明确区分: 返回值类型 方法名称 形式参数 在Java中定义方法 案 例 案例分析 在上面的案例中,我们已经定义了求整数绝对值的方法 但有时候,我们可能还需要求浮点数的绝对值,请问:可以继续使用这个方法吗 事实上是行不通的,这个方法只能求出整数的绝对值,对于浮点数,还需另外再定义求浮点数绝对值的方法。 修改案例 方法重载 用于定义一组方法,这些方法具有相同的名称,并执行类似的操作,但是却使用不同的参数列表; 编译器会根据调用时传递的实际参数自动判断具体调用的是哪个重载方法,如: 方法重载的三大原则 方法名相同 参数不同(可以有三方面的不同) 数量不同 类型不同 顺序不同 同一作用域 温馨提示:方法重载跟方法的返回值类型没有任何关系。也就是说,只有返回值不同的方法不能构成重载。 方法重载示例 方法重载的两种方式之一 利用不同数据类型的参数重载; 对于带有相同数量参数但参数类型不同的重载方法,编译器可以区分它们,如: 只要所有参数式样都是唯一的,就可以使用多个重载; 很多编程语言已经重载了输出方法,以便您可以用相同的函数名称输出任何类型的数据。 方法重载的两种方式之二 利用不同数量的参数重载,如: 将调用与参数最匹配的方法,如果没有方法得出最佳匹配,那么编译器将报错; 编译器解决重载的方式与方法定义的顺序无关; 重载不考虑方法的返回值类型。 方法重载的作用域规则 只有属于同一作用域范围内的方法才能构成重载。 课堂练习1 在Java中,对于成员方法 float add(float f1, float f2) {……} 下面选项()是对该成员方法的重载。 int add(int n1, int n2) {……} float add(float f) {……} float add(float n2, float n1) {……} void add(float f2, float f1) {……} void add(float f1, float f2, float x) {……} 课堂练习2 在Java中,下列方法()不能与 int fun(int x) {……} 构成方法重载。 int fun(int x, int y) {……} float fun(int z) {……} int fun(float x) {……} int fun(int x, int y, int z) {……} 关于方法重载的重要提示 重载构造方法 方法重载的一个重要应用就是重载构造方法 可以定义一组构造方法,使其构成重载关系,从而方便使用者能够灵活机动地以各种不同的方式来实例化对象。 重载构造方法示例 重载构造方法示例(续) 对象在内存中的存放形式 this关键字 既然所有的对象都共用相同的成员方法,那么在不同的对象都调用同一方法时,它是怎么确定要使用哪个对象的数据成员呢? 成员方法被对象调用时都会传递一个隐含的this引用参数,它总是指向调用该方法的对象; 关键字this给出调用成员方法的对象地址; 每当对象调用成员方法时,编译器会向this分配调用该方法的对象地址; 可以像使用任何引用那样使用this。 this引用示例 总 结 方法重载可以方便方法的调用者,但方法重载应遵循三大原则 方法名相同 参数列表不同 属于同一作用域 可以适当地重载构造方法,使初始化对象的方式更加灵活 this引用总是指向调用方法的对象,this引用变量中存储的是调用该方法的对象地址 作 业 创建学生类,描述学生的姓名、年龄、身高、学历,重载三个构造方法,分别初始化姓名、姓名和年龄、姓名及年龄和学历 ” 如果十年前Sun没有做Java,人们便会写.Net程序,如果他们写.Net程序,他 们就是为windows写程序,而不是为Sun的设备写程序” ——Scott McNealy(Sun首席执行官) 方法原型 /*
您可能关注的文档
最近下载
- 一种酿酒酵母培养物及其应用.pdf VIP
- 消防增压稳压设备的维护保养保养内容和方法.docx VIP
- 乡村振兴与乡村教育事业.pptx VIP
- 标准图集-20S515-钢筋混凝土及砖砌排水检查井.pdf VIP
- 文书工作与档案管理教学课件作者第三版赵映诚12第十二章专门档案的管理与利用(3333KB).ppt VIP
- 矿用自救器的使用方法.ppt VIP
- NC6相对NC5给客户带来的新价值.pptx VIP
- 公司廉政风险防控手册模板.pdf VIP
- 2025届高中英语外研版高考复习课件:The world of science.ppt VIP
- 自觉遵守课堂纪律 班会课件(共23张PPT).pptx VIP
文档评论(0)