习 题 六

习 题 六

1.为什么Java要采用单重继承?Java怎样实现多重继承机制?

2.Java怎样实现代码的可重用性?

3.什么是抽象类?它的特点有哪些?

4.什么是接口?它与抽象类的相同和不同之处是什么?

5.定义内部类有何好处?

6.方法的重载和方法的覆盖有什么不同?

7.super引用的语法格式是什么?怎样在子类的构造方法中调用超类的构造方法?

8.This引用的语法格式是什么?怎样在类的方法中调用和参数同名的成员变量?

9.设计一个长方形类,再通过继承长方形类设计一个正方形类,正方形类中通过重写超类的方法得到一些新的功能。

10.设计一个点类,它仅仅包含两个属性:横坐标和纵坐标。通过继承点类再设计一个圆类,它除了一个圆心,还有半径,还应该能够计算圆的周长和面积等。编写测试程序来测试所设计的类能否实现这些功能。

11.编写一个程序实现抽象类的概念。

12.编写一个程序实现最终类的概念。

13.为某研究所编写一个通用程序,用来计算每一种交通工具运行1000公里所需的时间,已知每种交通工具的参数都是3个整数A、B、C的表达式。现有两种工具:Car007 和Plane,其中Car007 的速度运算公式为:A*B/C,Plane 的速度运算公式为:A+B+C。需要编写三类:ComputeTime.java,Plane.java,Car007.java和接口Common.java,要求在未来如果增加第3种交通工具的时候,不必修改以前的任何程序,只需要编写新的交通工具的程序。其运行过程如下,从命令行输入ComputeTime的四个参数,第一个是交通工具的类型,第二、三、四个参数分别是整数A、B、C,举例如下:

计算Plane的时间:"java ComputeTime Plane 20 30 40"

计算Car007的时间:"java ComputeTime Car007 23 34 45"

如果第3种交通工具为Ship,则只需要编写Ship.java,运行时输入:"java ComputeTime Ship 22 33 44"

提示:充分利用接口的概念,接口对象充当参数。

实例化一个对象的另外一种办法:Class.forName(str).newInstance();例如需要实例化一个Plane对象的话,则只要调用Class.forName("Plane").newInstance()便可。