- 1、本文档共42页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
09第9章继承和多态ppt课件
Liang, Introduction to Java Programming, Fifth Edition, (c) 2005 Pearson Education, Inc. All rights reserved. 0-13-148952-6 第8章 继承和多态 学习目标 利用继承性由父类创建子类 (§8.2). 使用super关键字调用父类的构造方法和方法 (§8.3). 在子类中覆盖方法 (§8.4). 熟悉Object类中的几个有用的方法 (equals(Object), hashCode(), toString(), finalize(), clone(), and getClass()) (§8.5, §8.11 Optional). 理解多态、动态绑定和一般程序设计 (§8.6). 描述转换并理解显示向下转换的必要性 (§8.7). 理解隐藏数据域和静态方法的作用 (§8.8 Optional). 使用修饰符protected限制对数据和方法的访问 (§8.9). 使用修饰符final声明常量、不可修改的方法和不可扩展的类 (§8.10). 8.2 父类和子类 // Cylinder.java: Cylinder类的定义描述 public class Cylinder extends Circle { private double length = 1; ? /** Return length */ public double getLength() { return length; } ? /** Set length */ public void setLength(double length) { this.length = length; } ? /** 计算体积 */ public double findVolume() { return findArea() * length; } } Cylinder cylinder = new Cylinder(); System.out.println(The length is + cylinder.getLength()); System.out.println(The radius is + cylinder.getRadius()); System.out.println(The volume of the cylinder is + cylinder.findVolume()); System.out.println(The area of the circle is + cylinder.findArea()); 8.3使用关键字 super 调用父类的构造方法 调用父类的方法 注意 8.3.2 构造方法链 8.3.2 构造方法链 追踪执行过程 追踪执行过程 追踪执行过程 追踪执行过程 追踪执行过程 追踪执行过程 追踪执行过程 追踪执行过程 追踪执行过程 没有无参构造方法的示例 声明一个子类 子类可以扩展父类的方法和属性,所以可以在子类中: 添加新的属性 添加新的方法 重写父类的方法 8.4 方法覆盖 注 对象类 Object Java中的每一个类都源于 java.lang.Object class. 如果没有指定一个类继承谁,它的父类就是Object. equals() 和 hashCode() Methods equals() 方法检查2个对象是否. equals()和==比较 hashCode() 返回该对象的哈希码,返回对象在计算机内部存储的十六进制内存地址. toString() 方法 toString() 方法返回一个代表该对象的字符串:类名+ @+哈希码. 多态性、动态绑定和一般程序设计 GraduateStudent, Student, Person, and Object 每个类都有自己的toString()方法,采用哪一种实现有JVM在运行时动态决定,这种能力成为动态绑定。 一般程序设计 多态性一般允许方法使用范围更广的对象参数,这称为一般程序设计。 如果一个方法的参数类型是父类,可以向该方法传递这个参数子类的任何对象。 8.7 对象类型转换 语句 m(new Student()); 将对象 new Student() 传递给了 Object 类型参数. 该语句等价于: Object o = new Student(); // Implicit casting m(o); 为什要转换 假设: Student b = o; ? 因为Student对象的总是Object对象的实例,但是Object对象的
您可能关注的文档
- 03第三章点 直线 平面的投影.ppt
- 05工程制图立体.ppt
- 04第四章立体的投影 水土20041130.ppt
- 05第九章计量经济学应用模型.ppt
- 05第五章经典单方程计量经济学模型专门问题.ppt
- 06 给大学新生的8个忠告全图版.ppt
- 05绪论设计性实验.ppt
- 06土方开挖回填.ppt
- 02水准测量.ppt
- 06第三章7节第四章1节.ppt
- DB34∕T 3271-2018 公路工程施工作业环境建设与管理指南.docx
- 突发事件风险评估.pptx
- DB34_T 4252.1-2022低运量导轨式胶轮系统施工及验收规程 第1部分:导轨梁式.docx
- DB34∕T 1692-2016 能源计量示范单位评价要求.docx
- 财务健康与可持续发展.pptx
- DB34∕T 3464-2019 城市桥梁限载标准.docx
- DB34_T 4167-2022公路运营桥梁抬桩加固技术规程.docx
- 全过程人民民主法治化的实现路径.pdf
- 卓越工程师培养要素再造的实施路径探索.pdf
- D-B3403T 03-2020 胶轮有轨电车交通系统设计规范.docx
文档评论(0)