从零开始学JAVA第8章_继承
从零开始学JAVA第8章_继承
第8章 继承 经过了前面学习,对面向对象有了一定的认识,下面开始学习面 向对象的一个重要的概念——继承。在此基础上讨论重写、重载 、重写与重载之间的区别,以及多态和如何灵活运用final、 abstract等概念,因此学好这些概念是灵活运用多态的基石。通 过本章的学习,读者应该能够完成如下几个目标。 了解什么是继承和继承如何使用。 掌握声明成员变量的修饰符。 熟练掌握方法的重写和重载。 了解枚举、反射和泛型等热门技术。
1-1
不怕人家说缺点,才会不断进步。—谷姐网()
从零开始学JAVA第8章_继承
8.1 什么是继承 在日常生活中,经常遇到如下问题。有一辆自行车,自行车有颜色和型号大小之 分,而公路赛车也有颜色和型号大小之分,公路赛车多了一项速度的优势。自行 车有的东西公路赛车全都有,而公路赛车有的东西自行车不一定有,它们相同地 方有很多。在Java中,对于这种情况下就采用继承来完成这个功能。【范例8-1】 通过示例代码8-1来理解什么是继承。示例代码8-1 01 //这是一个类,表述的是一个自行车 02 public class bike 03 { 04 public String color; //自行车的颜色 05 public int size; //自行车的大小,即型号 06 } 07 08 //这是一个类,表述的是一个公路赛类 09 pubic class racing_cycle 10 { 11 public String color; //自行车的颜色 12 public int size; //自行车的大小,即型号 13 public String speed; //公路赛车的速度 14 }
1-2
不怕人家说缺点,才会不断进步。—谷姐网()
从零开始学JAVA第8章_继承
下面就来使用继承来简化上面的程序。 01 //这是一个类,表述的是一个自行车 02 public class bike 03 { 04 public String color; //自行车的颜色 05 public int size; //自行车的大小,即型号 06 } 07 //这是一个类,表述的是一个公路赛车,它继承于自行车 08 pubic class racing_cycle extends bike 09 { 10 public String speed; //公路赛车的速度 11 } 继承是为了让代码重复使用,提高效率,在此基础上衍生出更多的新类 。继承是面向对象编程的特点,没有继承就不是面向对象编程,而是面 向过程了。Java提供了单一继承,通过接口可以实现多重继承。本节要 说明什么是继承,继承有那些特点。
1-3
不怕人家说缺点,才会不断进步。—谷姐网()
从零开始学JAVA第8章_继承
8.1.1 类的继承 在Java中,被继承的类叫超类(superclass),继承超类的类叫子类( subclass)。因此,子类是超类的一个功能上的扩展,它继承了超类定义 的所有属性和方法,并且添加了特有功能方法。
首先举一个典型例子来说明继承有什么特点,然后再结合代码学习。
有一
对爷俩,爸爸和儿子,爸爸的眼睛是单眼皮,个子很高,头发很好, 皮肤很黑,而儿子同样有他爸爸的一些特征,但是儿子的皮肤很白,双眼 皮,戴眼镜,在外人看来他们是爷俩。儿子具有爸爸的所有特征,但是儿 子的皮肤很白和戴眼睛这些是儿子自己所特有的,也是和爸爸不一样的地 方。这个小例子正是日常生活里常见的。
换到Java里,类与类之间的关系,可以看成倒置的金字塔,爸爸在上面, 儿子在下面。爸爸可能有多个儿子,但是一个儿子只能有一个爸爸,这在 日常生活里也是如此。 不怕人家说缺点,才会不断进步。—谷姐网()
1-4
从零开始学JAVA第8章_继承
本节学习了继承的使用,下面对其内容做如下总结。 通过继承定义类,可以简化类的定义,让所需要的功能用相应的子类去 定义和实现。 Java是单继承的,子类可以有很多,父类只能有一个。上面的例子,如 果加一个Friend类,Son只能继承自Father,要么继承Friend,不能同时 继承Father和Friend。 Java的继承是多层继承的,是一个类可以有很多子类,而子类下面又可 以有很多子类。 父类里的属性和方法可以让子类所有,父类里的属性和方法可以使子类 同样拥有,而子类的不能调用父类的方法和属性,子类的无参构造器默 认是调用的父类的无参构造器。 父类没有定义一个无参的构造器,那么编译器就默认生成一个无参的构 造器,也可以在子类构造器里显示使用super方法调用父类构造器, super方法里写几个参数就可以表示调用的是父类的哪一个构造器。 一般情况下,定义了一个有参的构造器,就应该定义一个无参的构造器 。
1-5
不怕人家说缺点,才会不断进步。—谷姐网()
从零开始学JAVA第8章_继承
8.1.2 继承的语法 类的继承是通过Java保留的关键字extends来修饰的,通过extends的关键字表明 前者具备后者的公共的成员变量和方法,在具备了所有的公共的成员变量和方法 后,本身还能定义一些特有的成员变量和方法。基本语法如下所示。 class 类名 extends 父类名称 【范例8-6】下面是使用继承的程序。 示例代码8-6 01 public class Father 02 { 03 public String name; //父亲的名字 04 public int age; //父亲的年龄 05 public String eye; //父亲眼睛的样子 06 public String height; //父亲的身高 07 public String cutis; //父亲的皮肤的颜色 08 } 09 10 public class Son extends Father //Son类继承与Father类 11 { 12 public String spectacle frame; //这个属性是儿子所特有的 表示儿子 是否带眼镜 13 }
1-6
不怕人家说缺点,才会不断进步。—谷姐网()
从零开始学JAVA第8章_继承
8.2 修饰符 修饰符是修饰的当前成员变
量的访问限制和状态的。就好比一个 眼镜,颜色是黑色的,这个黑色就修饰了这个眼镜,而眼镜的种 类很多可以让不同的人群来使用,如近视眼镜就由有近视眼的人 群来使用,别人来使用的话就不好了。 public String name; //public 就是一个修饰符 成员变量的继承是指B继承与A后,B能使用A的属性和方法,是受 成员变量的修饰符决定的。在上一节的例子里的成员变量都是使 用的默认修饰符,本小节将详细介绍修饰符是如何限制成员变量 的继承的。主要有4个修饰符:public、private、default、 protected,对其详细介绍将分为小节来进行。
1-7
不怕人家说缺点,才会不断进步。—谷姐网()
从零开始学JAVA第8章_继承
8.2.1 public:声明成员变量为公共类型 public表明被它修饰的成员变量为公共类型,那么这个成员变量 在任何包里都能访问,包括子类也能访问到,下面用代码来说明 。 下面是使用public修饰符的程序。 public
1-8
不怕人家说缺点,才会不断进步。—谷姐网()
从零开始学JAVA第8章_继承
8.2.2 private:声明成员变量为私有类型 private表明被它修饰的成员变量为私有类型,表示除了本类外任 何类都不能访问到这个成员变量,具有很好的保护性。下面用代 码来说明。 【范例】下面是使用private修饰符的程序。
1-9
不怕人家说缺点,才会不断进步。—谷姐网()
从零开始学JAVA第8章_继承
8.2.3 default:声明成员变量为默认类型 如果不给成员变量添加任何修饰符,就表示这个成员变量被修饰 为default类型,在一个同包里的类或子类是能够访问的,相当于 public类型,但是在不同包里 …… 此处隐藏:3176字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [教育文库]夜场KTV服务员的岗位职责及工作流程[1]
- [教育文库]企划、网络、市场绩效考核方案
- [教育文库]学党史、知党情、强党性--“党的基本理
- [教育文库]2016年高考物理大一轮总复习(江苏专版
- [教育文库]干部廉洁自律自查自纠的报告
- [教育文库]2010年北京大学心理学系拟录取硕士研究
- [教育文库]资金时间价值练习题及答案
- [教育文库]保护环境的心得体会
- [教育文库]英语角内容:英语趣味小知识
- [教育文库]档案收集与管理工作通知
- [教育文库]劳动规章制度范本范本
- [教育文库]高考物理一轮复习课后限时作业1运动的
- [教育文库]机械工艺夹具毕业设计195推动架设计说
- [教育文库]通用技术教学比赛说课稿2
- [教育文库]2018年四年级英语下册 Module 7 Unit 2
- [教育文库]第2章 宽带IP网络的体系结构
- [教育文库]九年级化学第五单元课题3《根据化学方
- [教育文库]小学英语六年级情态动词用法归纳
- [教育文库]甲级单位编制窑井盖项目可行性报告(立
- [教育文库]2016-2021年中国城市规划行业全景调研
- 高考英语听力十大场景词汇总结
- 全省领导班子思想政治建设座谈会会议精
- 人教版新课标高一英语提优竞赛试题 下
- 江西省2014年生物中考试题
- 长沙镇食品药品安全事故应急预案
- 《金刚石、石墨和C60》片段教学设计
- 福州教育学院(王旭东)
- 基于EDA音乐播放器的设计
- 9、古诗两首《夜书所见》《九月九日忆
- 小学语文课外阅读有效策略探讨
- 贵州文化产业发展成支柱产业的问卷调查
- 膀胱类癌的诊治体会(附3例报告)
- 发动机积碳产生的原因
- Configuring Code Composer Studio for
- 学生良好的心理素质如何培养点滴谈
- 46 电沉积法制备锂离子电池用硅-锂薄膜
- 美舍雅阁公司管理中各部门职责
- 去壳剥皮的小妙招
- 六自由度运动平台的仿真研究
- Pride and Prejudice(傲慢与偏见)




