1 / 24
文档名称:

Java基础---继承.pptx

格式:pptx   大小:419KB   页数:24页
下载后只包含 1 个 PPTX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

Java基础---继承.pptx

上传人:yjjg0025 2017/9/30 文件大小:419 KB

下载得到文件列表

Java基础---继承.pptx

相关文档

文档介绍

文档介绍:Java基础---继承
中软无锡实训基地
进度
目标
了解什么是继承和继承如何使用。
掌握声明成员变量的修饰符。
熟练掌握方法的重写和重载。
什么是继承(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 }
什么是继承(2)
下面就来使用继承来简化上面的程序。
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)
在Java中,被继承的类叫超类(superclass),继承超类的类叫子类(subclass)。因此,子类是超类的一个功能上的扩展,它继承了超类定义的所有属性和方法,并且添加了特有功能方法。
首先举一个典型例子来说明继承有什么特点,然后再结合代码学习。
有一对爷俩,爸爸和儿子,爸爸的眼睛是单眼皮,个子很高,头发很好,皮肤很黑,而儿子同样有他爸爸的一些特征,但是儿子的皮肤很白,双眼皮,戴眼镜,在外人看来他们是爷俩。儿子具有爸爸的所有特征,但是儿子的皮肤很白和戴眼睛这些是儿子自己所特有的,也是和爸爸不一样的地方。这个小例子正是日常生活里常见的。
换到Java里,类及类之间的关系,可以看成倒置的金字塔,爸爸在上面,儿子在下面。爸爸可能有多个儿子,但是一个儿子只能有一个爸爸,这在日常生活里也是如此。
类的继承(2)
本节学习了继承的使用,下面对其内容做如下总结。
通过继承定义类,可以简化类的定义,让所需要的功能用相应的子类去定义和实现。
Java是单继承的,子类可以有很多,父类只能有一个。上面的例子,如果加一个Friend类,Son只能继承自Father,要么继承Friend,不能同时继承Father和Friend。
Java的继承是多层继承的,是一个类可以有很多子类,而子类下面又可以有很多子类。
父类里的属性和方法可以让子类所有,父类里的属性和方法可以使子类同样拥有,而子类的不能调用父类的方法和属性,子类的无参构造器默认是调用的父类的无参构造器。
父类没有定义一个无参的构造器,那么编译器就默认生成一个无参的构造器,也可以在子类构造器里显示使用super方法调用父类构造器,super方法里写几个参数就可以表示调用的是父类的哪一个构造器。
一般情况下,定义了一个有参的构造器,就应该定义一个无参的构造器。
继承的语法
类的继承是通过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; //父亲的身