- 1、本文档共86页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第5章 继承与多态 5.1 继承简介 5.2 继承与子类 5.3 覆盖与隐藏 5.4 关键字final 5.5 对象类型转换和运算符instanceof 5.6 多态与动态绑定 第5章 继承与多态(续) 5.7 抽象类和抽象方法 5.8 接口 5.9 类Object 5.10 包装类和自动装箱与拆箱 5.11 内部类 5.12 习题 5.1 继承简介 最简单的代码重用是在方法中使用现有的类定义对象。此外,代码重用还表现为使用现有的类来定义新类,这种定义新类的方式主要有两种:组合和继承。 组合是指定义新类时,使用现有类的对象作为数据成员。它通常用于描述对象之间的“has-a”(拥有)关系。 5.1 继承简介(续) 5.1 继承简介(续) 继承是从一个类派生出一个新类的过程。 通过继承,可以让一个类拥有另一个类的全部属性和行为特征,即让一个类继承另一个类的全部属性和行为特征。 派生出来的新类称作子类(也称派生类或次类);而被继承的类称作父类(也称作基类或超类)。 继承通常用于描述对象之间的“is-a”(是一个)或“is-like-a”(像是一个)关系。 5.1 继承简介(续) 单继承是指从一个父类派生出一个子类的过程,而多继承是指从一个以上的父类派生出一个子类的过程。 Java语言仅支持单继承,其多继承只能通过接口等间接实现。 5.2 继承与子类 5.2.1 继承的语法 5.2.2 修饰符protected 5.2.3 子类的构造方法 5.2.4 继承与初始化 5.2.1 继承的语法 Java程序中定义的每个类都继承于一个已存在的类,如果没有显式指定,就隐含继承于类java.lang.Object。 class 子类名 extends 父类名 { 定义子类新成员 } 例5-1 子类的定义 5.2.2 修饰符protected 具有保护访问权限的成员可以在其所属类、其所属类的子类及其所属包中访问。 例5-2 修饰符protected 5.2.2 修饰符protected(续) 派生时,子类自动获取父类的所有成员(构造方法除外,它不能被子类继承)。当子类和父类在同一包中时,父类成员被子类继承后,除私有成员外,访问权限保持不变(私有成员不能在子类中访问,也不能通过子类对象或子类名访问)。因此,当一个具有包访问权限的类被公用类继承时,该具有包访问权限的类中的公用成员在另一包中可以通过子类对象访问(如果是静态公用成员,当然也可以通过子类名访问)。 5.2.2 修饰符protected(续) 当子类和父类不在同一包中时,父类成员被子类继承后,公用成员访问权限保持不变,私有成员和具有包访问权限的成员不能在子类中访问,也不能通过子类对象或子类名访问,保护成员在子类中可以直接访问,也能通过子类对象或子类名访问,但不能通过父类对象访问(不过,如果是静态成员,可以通过父类名访问)。此外,如果子类是公用类,保护成员在父类所属包中还可以通过子类对象或子类名访问。 5.2.2 修饰符protected(续) 实际编程时,一般应该将数据成员声明为私有的,方法声明为公用的,只有确实希望某个方法具有包访问权限,但又能在其子类中访问,才将它声明为protected。 5.2.3 子类的构造方法 子类不能继承父类的构造方法。因此,创建子类对象时,为了初始化从父类中继承来的数据成员,系统需要调用其父类构造方法。 Java编译器会自动在子类构造方法中首先插入对其父类构造方法的调用,以初始化从父类中继承来的数据成员。 例5-3 调用父类的无参构造方法 5.2.3 子类的构造方法(续) Java编译器虽然会自动在子类构造方法中插入对父类构造方法的调用,但它调用的是父类的无参构造方法。如果父类中没有可调用的无参构造方法(即父类中没有无参构造方法或者其无参构造方法不能在当前子类中访问)或者希望调用带参数的父类构造方法,这种自动插入的调用显然就不能满足需要,这时,就要使用关键字super来显式调用父类构造方法(该构造方法必须能在当前子类中访问)。 5.2.3 子类的构造方法(续) 显式调用父类构造方法的语法形式如下: super(参数); 其中,参数必须与希望调用的父类构造方法匹配,如果参数为空,则表示调用父类的无参构造方法。注意,构造方法不能直接使用其方法名调用,否则,会引起编译错误。 例5-4 显式调用父类的构造方法 5.2.3 子类的构造方法(续) 使用关键字super调用父类构造方法的语句必须是构造方法的方法体中的第1条语句,否则会引起编译错误。如果构造方法没有显式使用关键字super调用父类构造方法,编译器一般会在其
您可能关注的文档
- 2015年上海初三化学闵行区二模化学试卷.doc
- 2015年自考社会学概论小抄汇总版.doc
- 2015年必威体育精装版版公务员制度小抄.doc
- 2015人教版新目标八年级英语下册期中测试题及答案【精品2套】.DOC
- 2015软件工程试题库集及答案.doc
- 2015商品流通概论自考小抄.doc
- 2015苏教版小学语文一年级下册按课文内容填空(精华版).doc
- 2015正比例和反比例重点难点过关(北师大版六年级数学下册).doc
- 2015中国近现代史纲要_考前复习资料(纯手打).doc
- 2015中央电大审计学形成性考核作业答案.doc
- 2025年中国锻铁围栏市场调查研究报告.docx
- 2025年中国椭圆型市场调查研究报告.docx
- 2025年中国无蔗糖原味豆浆市场调查研究报告.docx
- 2025-2031年中国泛在电力物联网行业发展运行现状及投资潜力预测报告.docx
- 2025年中国制袋机零件市场调查研究报告.docx
- 2025年中国智能除垢型电子水处理仪市场调查研究报告.docx
- 2025-2031年中国甘肃省乡村旅游行业市场深度研究及投资策略研究报告.docx
- 2025-2031年中国干海产品行业市场发展监测及投资战略规划报告.docx
- 2025年中国全铝图解易拉盖市场调查研究报告.docx
- 2025年中国人造毛皮服装市场调查研究报告.docx
文档评论(0)