06-面向对象:继承和多态解读
《Java程序设计》 上一章内容回顾 5. 面向对象:构造方法,封装与隐藏 构造器 理解构造器 构造器的重载 封装 理解封装 访问控制符 包(package) 包及其作用 package和import语句 Java的常用包 6. 面向对象:继承和多态 6.1 类的继承 6.1.1 继承的特点 6.1.2 重写父类的方法 6.1.3 父类实例的super引用 6.1.4 调用父类的构造器 6.2 多态 6.2.1 多态性 6.2.2 引用变量的强制类型转换 6.2.3 instanceof运算符 6.3 继承和组合 6.4 课后作业 6.1 类的继承6.1.1 继承的特点 继承是面向对象三大特征之一,也是实现软件复用的重要手段。 Java的继承通过关键字extends来实现,实现继承的类称为子类,被继承的类称为基类、超类、父类。父类与子类的关系,是一种一般和特殊的关系。例如水果和苹果的关系,苹果继承了水果,苹果是水果的子类,则苹果是一种特殊的水果。 因为子类是一种特殊的父类,因此父类包含的范围总比子类包含的范围要大,因此父类是大类,子类是小类。 Java的继承是单继承,每个类最多只有一个直接父类。 6.1 类的继承6.1.1 继承的特点 Java里子类继承父类的语法格式如下: [修饰符] class subclass extends superclass { //类定义部分 } “extends”的含义是子类扩展了父类,将可以获得父类的全部属性和方法,但子类不能获得父类构造方法。 以下程序示范了子类继承父类的特点。 6.1 类的继承6.1.1 继承的特点 程序清单:chapter06\test1\Fruit.java、Apple.java 6.1 类的继承6.1.1 继承的特点 6.1 类的继承6.1.2 重写父类的方法 子类扩展了父类,子类是一个特殊的父类。大部分时候,子类总是以父类为基础,额外增加新的属性和方法。但有一种情况例外:子类需要重写父类的方法。 例如,鸟类都包含了飞翔(fly)的方法,其中鸵鸟是一种特殊的鸟类,因此鸵鸟应该是鸟的子类,因此它也将从鸟类获得飞翔方法,但这个飞翔方法明显不适合鸵鸟,因此,鸵鸟需要重写鸟类的方法。 下面程序先定义一个Bird类。 6.1 类的继承6.1.2 重写父类的方法 程序清单:chapter06\test1\Bird.java 6.1 类的继承6.1.2 重写父类的方法 下面再定义一个Ostrich类,这个类扩展了Bird类,但重写了Bird类的fly方法。 程序清单:chapter06\test1\Ostrich.java 6.1 类的继承6.1.2 重写父类的方法 这种子类包含父类同名方法的现象被称为方法重写,也称为方法覆盖(Override)。可以说子类重写了父类的方法,也可以说子类覆盖了父类的方法。方法的重写要遵循“两同两小一大” 。 两同: 方法名相同; 形参列表相同。 两小: 子类方法返回值类型应比父类方法返回值类型更小(即子类)或相同; 子类方法声明抛出的异常应比父类方法声明抛出的异常类更小或相同。 一大: 子类方法的访问控制权限应比父类方法更大或相等。 6.1 类的继承6.1.2 重写父类的方法 注意: 覆盖方法和被覆盖方法要么都是类方法,要么都是实例方法;不能一个是类方法,一个是实例方法,否则编译出错。 当子类覆盖了父类方法后,子类的对象将无法直接访问父类中被覆盖的方法,如果需要访问,可以使用super(被覆盖的是实例方法)或者父类名(被覆盖的是类方法)作为调用者来调用父类被覆盖的方法。 如果父类方法具有private访问权限,则该方法对其子类是隐藏的,因此其子类无法访问该方法,也就无法重写该方法;如果子类定义了一个与父类private方法具有相同方法名、相同形参列表、相同返回值类型的方法,依然不是重写,只是在子类中重新定义了一个新方法。 6.1 类的继承6.1.3 父类实例的super引用 (1) 通过super引用调用父类被覆盖的方法 如果需要在子类中调用父类被覆盖的实例方法,可以通过关键字super作为调用者来调用父类被覆盖的方法。 super是Java提供的一个关键字,它是直接父类的默认引用。 例如,为上面的Ostrich类添加callOverridedMethod方法,在其中调用Bird类被覆盖的fly方法。 完整的Ostrich类代码如下。 程序清单:chapter06\test1\Ostrich.java 6.1 类的继承6.1.3 父类实例的super引用 6.1 类的继承6.1.3 父类实例的super引用 6.1 类的继承6.1.3 父类实例的super引用 6.1 类的继承6.1.3 父类实例的super引用
您可能关注的文档
- 报纸鱼课件讲述.ppt
- 抽油机机械伤害事故安全经验分享讲述.ppt
- 基于点阵的广告牌设计智能仪器课程设计报告精要.docx
- 05面向对象高级程序设计解读.ppt
- 抹灰施工方案(2016.6.27)讲述.doc
- 抽采达标学习材料讲述.ppt
- 基于物联网技术的煤气自动监控系统精要.doc
- 基于物联网与三维可视化技术的智能变电站综合辅助系统研究精要.doc
- 抽渣车-洒水车-抽粪车讲述.pptx
- 抽油机事故案例分享讲述.ppt
- 2025-2026学年科普版七年级下册英语Unit7 Being a Smart Shopper素养测评卷(含答案).docx
- 2025-2026学年科普版七年级下册英语Unit10 Lending a Helping Hand素养测评卷(含答案).docx
- 2025-2026学年科普版七年级下册英语Unit11 Rules Matter素养测评卷(含答案).docx
- 2025-2026学年科普版七年级下册英语Unit12 Better Together素养测评卷(含答案).docx
- 2026年中考英语语法选择专题训练(含答案).docx
- 2026中考语文二轮学思并重,涵养君子之德论语十二章、虽有佳肴、大道之行也.docx
- 中考文言文常见文化常识梳理.docx
- 中考语文二轮:内修君子德外尽忠臣心诚子书出师表修身立德主题学习.docx
- 中考语文二轮:不一样的求学路一样的成长梦送东阳马生序劝学主题学习.docx
- 中考语文二轮:《陋室铭》《爱莲说》托物寓意主题学习.docx
最近下载
- [全]学生硬笔作品纸-古诗词书法比赛用A4纸打印模板.docx VIP
- 通风及防排烟施工方案.docx VIP
- T∕GAL 005-2025 医院免陪照护服务安全管理规范.docx
- BS EN 50121-3-2-2016+A1-2019 铁路应用-电磁兼容性 第3-2部分: 机车车辆-设备(中文版).pdf
- (2026年春新版)人教版八年级生物下册全册教案.doc
- 高压氧医学概述.ppt VIP
- 医学伦理学的形成和发展概述.pptx VIP
- 2025年杭州中考英语试卷及答案.doc VIP
- 2024年长沙商贸旅游职业技术学院单招综合素质考试题库 及参考答案解析.docx VIP
- 房建专项施工方案.docx VIP
原创力文档

文档评论(0)