- 1、本文档共40页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第09章 继承和多态-课件(PPT-精)
第09章 继承和多态 章节内容 9.1 引言 9.2父类和子类 9.3 使用super关键字 9.4 方法覆盖 9.5 覆盖和重载 9.6 对象类object和它的tostring方法 9.7 多态性、动态绑定和一般程序设计 9.8 对象转换和instanceof运算符 9.9 数组线性表ArrayList类 9.10自定义栈类 9.11 protected数据和方法 9.12 final类、方法和变量 9.1 引言 在面向对象中,从已有的类派生出新类,叫做继承。 超类=父类=基类 次类=子类=扩展类=派生类 Java中使用关键字extends来实现类的继承。例如: class Circle extends GeometricObject { 类体;} 创建了一个Circle类,它继承自GeometricObject类。 子类继承了父类所有的成员,还可以包含自己的数据成员和方法成员 9.2父类和子类 9.2父类和子类—父类GeometricObject 9.2父类和子类—子类Circle 9.2父类和子类 –子类Rectangle 9.2 父类和子类—TestCircle测试类 9.3 使用super关键字 super关键字的功能 调用父类的构造方法: super( ); super( 参数 ); 必须出现在子类构造方法的第一行 调用父类的方法: super.方法名(参数);return 2*super.findArea()+(2*getRadius()*Math.PI)*length; 9.3 使用super关键字 9.3.2 构造方法链 创建派生类对象时,要首先创建其中包含的基类子对象,也就是说在派生类的构造方法中,要首先调用基类的构造方法。 通常,派生类构造方法中的第一条语句都是使用关键字super调用基类的构造方法;如果没有使用关键字super显式地调用基类的构造方法,则编译器将向派生类构造方法中添加一条语句super(),调用基类默认的构造方法,它是派生类构造方法的第一条语句。 在任何情况下,构造一个类的实例时,将会沿着继承链调用所有基类的构造方法 Trace Execution Trace Execution Trace Execution Trace Execution Trace Execution Trace Execution Trace Execution Trace Execution Trace Execution 9.4 方法覆盖 当子类 从父类中继承方法,子类必须修改父类中定义的方法,就叫做方法覆盖(methord overriding) 9.6 对象类Object和它的toString()方法 如果定义一个类时,没有指明它的父类,则它的父类就是Object类。 Object中几个常用的实例方法: public String toString( ) public boolean equals(Object object) (见9.13) public Object clone( ) (见9.13) public int hashCode( ) (见9.13) public Class getClass( ) (见9.13) public String toString( ) 返回值代表一个该对象的字符串,默认情况下,返回一个由该对象所属的类名、@和该对象十六进制的散列码组成的字符串 一般而言,每个类继承toString需要对该函数进行重载,如GeometricObject类中的toString 修改如下: public String toString(){ return “color:” + color + “and is filled:” + filled; } 9.7 多态性、动态绑定和一般程序设计 对于需要父类类型的参数,总可以传入子类的实例;实现的那一种实现由java虚拟机在运行时动态决定,称为动态绑定或者多态性。 绑定机制如下:假设对象o是类c1,c2,…., Cn-1,Cn的实力,其中C1是C2的子类,C2是C3的子类,如果对象O调用一个方法p,JVM依次在类C1,C2,…,Cn-1,Cn中查找方法P,直到找到为止。一旦找到,停止查找并调用这个第一次的实现。 9.7 多态性、动态绑定和一般程序设计(实例9-5) 9.8 对象转换和instanceof运算符 原则:派生类对象可以复制给基类对象(向上转换),基类对象赋值给派生类对象时必须显式转换(向下转化) Object o = new Student() //隐式转换 Student b = o //error Student b = (Studen
您可能关注的文档
- 第3章 Word2003的使用_图文-课件(PPT-精).ppt
- 第2章热力学关系与物性_图文-课件(PPT-精).ppt
- 第2章_数据类型_2-课件(PPT-精).ppt
- 第24篇 友元 this指针-课件(PPT-精).ppt
- 少先队辅导员工作事迹.doc
- 第13讲汽车险赔偿-课件(PPT-精).ppt
- 第10章面向对象系统设计-课件(PPT-精).ppt
- 第05章_算符优先分析法-课件(PPT-精).ppt
- 笛声-课件(PPT-精).ppt
- 论述乌鲁木齐市的双语教学创新.doc
- 金融产品2024年投资策略报告:积极适应市场风格,行为金融+机器学习新发现.pdf
- 交运物流2024年度投资策略:转型十字路,峰回路又转(2023120317).pdf
- 建材行业2024年投资策略报告:板块持续磨底,重点关注需求侧复苏.pdf
- 宏观2024年投资策略报告:复苏之路.pdf
- 光储氢2024年投资策略报告:复苏在春季,需求的非线性增长曙光初现.pdf
- 公用环保2024年投资策略报告:电改持续推进,火电盈利稳定性有望进一步提升.pdf
- 房地产2024年投资策略报告:聚焦三大工程,静待需求修复.pdf
- 保险2024年投资策略报告:资产负债匹配穿越利率周期.pdf
- 政策研究2024年宏观政策与经济形势展望:共识与分歧.pdf
- 有色金属行业2024年投资策略报告:新旧需求共振&工业原料受限,构筑有色大海星辰.pdf
文档评论(0)