多级继承-Java考点解析 计算机二级

发布于 2018-02-01 11:35  编辑:盘子
0
计算机等级考试题库 扫码微信刷题

多级继承

正像我们在本章开始所指出的那样,没有什么可以阻止一个派生类再作为一个基类使用。例如,我们可以从类Dog中再派生出一个类Spaniel,不会存在任何问题:

试试看--一个Spaniel类

用最少的代码来开始这个Spaniel类:

class Spaniel extends Dog

{

Public Spaniel(string aName)

{

super(aName,Spaniel)

}

}

为了试验它,你可以在上个例子的数组the Animal中增加一个Spaniel对象,其改变的语句为:

Animal[]theAnimal(

new Dog(Rover, poodle)

new Cat(Max,Abyssinian)

new Duck(Daffy,Aylesbury)

new Spaniel("Fido")


不要忘记在Duck后面添加逗号。再次运行这个例子。

如何操作

类Spaniel将从类Dog中继承成员,包括Dog从类Animal继承过来的成员。类Dog是直接的超类,而类Animal是类Spaniel的间接超类。Spaniel只附加了一个构造函数成员。它使用关键字super调用Dog类的构造函数,并且把ahi~的值和String类型的对象"Spaniel"传递给该函数。

如果你再一次运行TryPalymorphi srn就应该不时地选择Spaniel对象。这样,类Spaniel也加入到了方法toString()和sound()的多态选择中,在本例中这两种方法是从父类Dog中继承过来的。这个被继承的toString()方法与Spaniel对象一道运行得非常出色,但是假如你想提供一个单一的版本,就可以把它加到Spaniel的定义中。以后Spaniel对象将自动地选择这个方法,而不是从Dog类中继承这个方法。






考无忧小编推荐:

更多计算机等级考试真题及答案>>>点击查看

想知道更多关于计算机等级报考指南、考试时间和考试信息的最新资讯在这里>>>点击查看


本文网址:http://www.k51.com.cn/info/jsjdjks/1802/0126233.html
选择分享到: