高清版21天学通JAVA第八天

2019-08-26 18:57

第8章 继承

· 经过了前面学习,对面向对象有了一定的认识,下面开始学习面 向对象的一个重要的概念——继承。在此基础上讨论重写、重载 、重写与重载之间的区别,以及多态和如何灵活运用final、 abstract等概念,因此学好这些概念是灵活运用多态的基石。通 过本章的学习,读者应该能够完成如下几个目标。 · 了解什么是继承和继承如何使用。 · 掌握声明成员变量的修饰符。 · 熟练掌握方法的重写和重载。 · 了解枚举、反射和泛型等热门技术。

1-1

北京源智天下科技有限公司

联系方式:http://www.rzchina.net

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

北京源智天下科技有限公司

联系方式:http://www.rzchina.net

下面就来使用继承来简化上面的程序。

· · · · · · · · · · · ·

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 联系方式:http://www.rzchina.net

8.1.1

类的继承

·

在Java中,被继承的类叫超类(superclass),继承超类的类叫子类( subclass)。因此,子类是超类的一个功能上的扩展,它继承了超类定义 的所有属性和方法,并且添加了特有功能方法。

·

首先举一个典型例子来说明继承有什么特点,然后再结合代码学习。

·

有一对爷俩,爸爸和儿子,爸爸的眼睛是单眼皮,个子很高,头发很好,

皮肤很黑,而儿子同样有他爸爸的一些特征,但是儿子的皮肤很白,双眼 皮,戴眼镜,在外人看来他们是爷俩。儿子具有爸爸的所有特征,但是儿 子的皮肤很白和戴眼睛这些是儿子自己所特有的,也是和爸爸不一样的地 方。这个小例子正是日常生活里常见的。

·

换到Java里,类与类之间的关系,可以看成倒置的金字塔,爸爸在上面,

儿子在下面。爸爸可能有多个儿子,但是一个儿子只能有一个爸爸,这在 日常生活里也是如此。

北京源智天下科技有限公司

1-4

联系方式:http://www.rzchina.net

· 本节学习了继承的使用,下面对其内容做如下总结。 · 通过继承定义类,可以简化类的定义,让所需要的功能用相应的子类去 定义和实现。 · Java是单继承的,子类可以有很多,父类只能有一个。上面的例子,如

果加一个Friend类,Son只能继承自Father,要么继承Friend,不能同时 继承Father和Friend。 · Java的继承是多层继承的,是一个类可以有很多子类,而子类下面又可

以有很多子类。 · 父类里的属性和方法可以让子类所有,父类里的属性和方法可以使子类 同样拥有,而子类的不能调用父类的方法和属性,子类的无参构造器默 认是调用的父类的无参构造器。 · 父类没有定义一个无参的构造器,那么编译器就默认生成一个无参的构

造器,也可以在子类构造器里显示使用super方法调用父类构造器, super方法里写几个参数就可以表示调用的是父类的哪一个构造器。 · 一般情况下,定义了一个有参的构造器,就应该定义一个无参的构造器 。

1-5 北京源智天下科技有限公司

联系方式:http://www.rzchina.net


高清版21天学通JAVA第八天.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:官洲河水质监测报告2014 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: