java学习实验指导

1. 定义一个表示长方形的类Rectangle,其中包含两个private 的double型的成员变量length和width分别表示长方形的长和宽,定义一个有参数的构造方法Rectangle(double length, double width),在其中为长方形对象初始化,定义一个无参数的构造方法,在其中调用有参数的构造方法,使创建的对象的长和宽都为0。再定义用来求长方形周长的方法perimeter()和求面积的方法area()。

2. 定义一个长方体类Cuboid,使其继承Rectangle类,其中包含一个表示高的double型成员变量height;定义一个构造方法Cuboid(double length, double width, double height);再定义一个求长方体表面积的方法area(double height)和求体积的方法volume()。编写一个名为CuboidTest的应用程序,求一个长、宽和高都为10的长方体的体积。

3. 设计一个汽车类Auto,其中包含一个表示速度的double型的成员变量speed和表示启动的start()方法、表示加速的speedUp()方法以及表示停止的stop()方法。方法体内写一个输出语句即可。

再设计一个Auto类的子类Bus表示公共汽车,在Bus类中定义一个int型的表示乘客数的成员变量passenger,另外定义两个方法gotOn()和gotOff()表示乘客上乘和下车。

编写一个应用程序BusTest测试Bus类的使用。 4. 下列程序是否能够正确编译和运行,为什么?

//CastDemo1.java class Employee{}
class Manager extends Employee{ public String toString(){
return "I'm a manager."; } }
public class CastDemo1{
public static void main(String args[]){ Employee stuff;
Manager boss=new Manager(); stuff=boss;
Manager myBoss;
myBoss=(Manager)stuff; System.out.println(myBoss); } }
5. 输入下列程序,分析运行结果。
// Test.java
class Employee{
public void show(){
System.out.println("I am an employee."); } }
class Manager extends Employee{ public void show(){
System.out.println("I am a manager."); } }
class Secretary extends Employee{ public void show(){
System.out.println("I am a secretary."); } }
class Programmer extends Employee{ public void show(){
System.out.println("I am an programmer."); } }
public class Test{
public static void method(Employee e){