您的位置: 网站首页 > 程序开发 > Java程序设计 > 第4章 继承与多态 > 【4.7 练 习 题】

4.7 练 习 题

 

4.7  练  习  题

1.填空题

(1)extends子句的作用是           。

(2)当一个类自动拥有另一个类的所有属性时,就称这两个类之间具有           。

(3)Java中,this关键字的作用是           ,super关键字的作用是           。

(4)一个抽象类的子类,只要其自身不是抽象的,就可以被           。

(5)抽象方法提供了一种             的手段。

2.选择题

(1)下列关于父类、子类的关系说法不正确的是      。

A.子类可以共享父类的公共域和方法

B.子类和父类一定会存在某些差异,否则就应该是同一个类

C.子类中的类变量可以隐藏父类中的实例变量

D.子类可以从父类中继承域和方法,但是不可以对这些域和方法重定义及扩充新的内容

(2)下列语句中,      语句是用来访问父类被隐藏的成员变量的。

A.super.variable;

B.super.Method ( [paramlist] );

C.super.method;

D.super( [paramlist] );

(3)下列关于抽象类说法错误的是      。

A.抽象类不能被初始化

B.抽象类的声明是在类说明中使用abstract修饰符

C.抽象类是一种完整类

D.抽象类是指没有具体对象的一种概念类

(4)Java对方法和成员变量提供了      个修饰符号用于权限控制。

A.2          B.3         C.4         D.5

(5)      修饰符表示类中的一个方法或类是公有的

A.protect           B.private        C.protected      D.public

(6)下列说法正确的是      。

A.在面向过程的程序设计中,各函数可以重名

B.在面向对象的程序设计中,各函数不可以重名

C.Object类中的成员都是方法

D.Object类不是用户自定义的所有类的父类

3.问答题

(1)什么是继承?继承的意义是什么?如何定义继承关系?

(2)什么是多态?面向对象程序设计为什么要引入多态的特性?

(3)Java程序如何实现多态?有哪些实现方式?

(4)什么是方法的覆盖?覆盖需要注意的问题有什么?

(5)方法的覆盖与域的隐藏有何不同?

(6)Object与其他类型的转换需要遵循的原则有哪些?

4.上机操作题

(1)利用多态性编程,创建一个Square类,实现求三角形、正方形和圆形的面积。方法:抽象出一个共享父类,定义一个函数为求面积的公共界面,再重新定义各形状的求面积函数。在主类中创建不同类的对象,并求得不同形状的面积。

(2)为Shape类的层次添加一个Square类。

(3)定义一个Object数组,它可以存储一个矩形、一个圆、一个双精度数或一个整数。