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数组,它可以存储一个矩形、一个圆、一个双精度数或一个整数。