- 1、本文档共31页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
JAVA面向对象编程第四章继承性和多态性.ppt
下一页 上一页 返回 开始 下一页 上一页 返回 开始 第4章 继承性和多态性 * 主要内容 4.1 继承性 派生类的定义 super关键字 protected和final关键字 4.2 多态性 4.3 抽象类和接口 抽象类 接口 4.4 初始化块 继承性多态性 * 4.1 继承性 类具有继承性,子类对父类的继承关系体现了现实世界中特殊和一般的关系。通过继承可以更有效地组织程序结构,明确类间关系,并充分利用已有的类来完成更复杂、深入的开发。 4.1.1 派生类的定义 Java中的所有类都是java.lang.Object类的子类。 Java语言中派生类的定义格式如下: 示例:参看例4.1 class 子类 extends 唯一的父类名 { 类定义体 } 继承性多态性 * 4.1.2 super关键字 1. 数据成员的隐藏 数据成员的隐藏是指在子类中重新定义一个与父类中已定义的数据成员名完全相同的数据成员,即子类拥有了两个相同名字的数据成员,一个是继承父类的,另一个是自己定义的。 当子类要操作继承自父类的同名数据成员时,可使用关键字super引导。 2. 成员方法的覆盖 子类可以重新定义与父类格式完全相同(包括方法名、方法形参的个数和类型、方法返回值的类型)的成员方法,实现对父类方法的覆盖。 继承性多态性 * 关于方法覆盖 只有当实例方法能被访问时,才能进行方法覆盖。私有方法不能被覆盖. 静态方法(类方法)能被继承,但不能被覆盖。 子类在重新定义父类已有的方法时,应保持与父类完全相同的方法名、返回值类型和参数列表,否则就不是方法的覆盖,而是子类定义自己特有的方法,与父类的方法无关。 继承性多态性 * 3. super关键字 super表示的是当前对象的直接父类对象,是当前对象的直接父类对象的引用。 super的使用方法有三种: (1) 访问直接父类隐藏的数据成员,其使用形式如下: super.数据成员 (2) 调用直接父类中被覆盖的成员方法,其使用形式如下: super.成员方法(参数) (3) 调用直接父类的构造方法,其使用形式如下: super(参数) 示例:参看例4.2 继承性多态性 * 3. super关键字 子类中一定要调用父类的构造方法 1、子类的构造方法必须调用父类的构造方法2、子类可以在自己的构造函数中用super(argument_list)调用父类的构造方法3、 如果子类的构造函数中没有显式地调用父类的构造方法,系统将自动调用父类无参数的构造方法,此时如果父类中不存在无参数构造函数的话,编译会出 差错4、如果子类构造函数调用super(argument_list),这个语句必须写在构造函数的第一行 继承性多态性 * 4.1.3 protected和final关键字 1. protected关键字 用protected修饰的成员变量可以被三种类所引:该类自身、与它在同一个包中的其它类及在其它包中的该类的子类。 2. final关键字 使用final关键字可以定义常量。 定义类时,在class关键字前加关键字final,表示此类是最终类,不能被其它类继承,不能做父类。 用final修饰成员方法,表示此方法不能被它的子类覆盖。 继承性多态性 * 3. native关键字 native修饰的方法称为本地方法,此方法使用的目的是为了将其它语言(例如,C、C++、FORTRAN、汇编等)嵌入到Java语言中。这样可以充分利用已经存在的其它语言的程序功能模块,避免重复编程。 继承性多态性 * 4.2 多态性 多态是面向对象程序设计语言的一个重要特性,在Java中,可以在同一类或不同类中定义名称相同但是操作不同的多个方法。 在Java语言中,多态性分为编译时多态性和运行时多态性。 继承性多态性 * 编译时的多态性通过方法重载实现。Java虚拟机根据传递给方法的参数个数和类型决定调用哪个重载方法。 例如,java的打印函数对应的具体情况和操作有多种,如实数打印、整数打印、字符打印等。为了使打印功能完整,实际上定义了若干个名字都叫print的方法,每个方法用来完成一种不同于其他方法的具体打印操作,处理一种具体的打印情况。 继承性多态性 例 : TestOverride.java 1: public class TestOverride 2: { 3: public static void main(String args[]) 4: { 5: D200-Card my200 = new D200- Card1234,50.0,″200″); 6: if(my200.performDial(123456
您可能关注的文档
- ((人教版))[[高一化学课件]]高一化学第三章《金属及其化合物》课件.ppt
- ((人教版))[[高一物理课件]]新课标人教版高一物理必修一《牛顿第二定律》课件.ppt
- ((人教版))[[高二化学试题]]高二化学选修五第三章《烃的含氧衍生物》单元测试题.doc
- ((人教版))[[高二化学课件]]高二化学第三节《生活中两种常见的有机物乙醇》课件.ppt
- (人教版)三年级上册第三单元作文指导_秋天的图画.ppt
- (冀教版)四年级英语下册教案.doc
- (北京课改版)七年级数学下册第一次月考测试题.doc
- (北师大版)一年级数学课件下册第二单元观察物体.ppt
- (精品课件)高中生物必修一第一章走近细胞.ppt
- (苏科版)初二物理测验第一单元A.pdf
最近下载
- 染整部作业指导书.docx VIP
- 周围神经损伤康复.ppt VIP
- 四年级奥数---格点与面积---(学生版).docx VIP
- YS_T 745.2-2016铜阳极泥化学分析方法 第2部分:金量和银量的测定 火试金重量法.pdf
- 内蒙古赤峰市2020-2021学年高一下学期期末联考试题A卷生物.pdf VIP
- 二战时期和战后十年日本反战电影对比研究.doc VIP
- 消防员训练安全问题分析报告.ppt VIP
- 雾化吸入疗法合理用药专家共识(2024)解读.pptx VIP
- 核医学:分子影像学.pptx VIP
- 15.语法基础(非谓语动词)-2024年暑假新高二英语知识点巩固与题型突破抢先学(通用版).docx VIP
文档评论(0)