2024年3月14日发(作者:北京二手车交易市场在哪里)

Java

程序设计实验报告

Java程序设计实验报告

学号: 姓名:任佳鑫 座位号: 实验日期:2010/11/12

【实验名称】: 继承与多态的应用

【实验目的】:

1.掌握类的继承方法。

2.掌握变量的继承和覆盖。

3.掌握方法的继承、重载和覆盖。

4.掌握扩展类中构造器的使用。

【实验内容及要求】:

1.

编写一个Java应用程序,设计一个汽车类Vehicle,包含的成员属性有:车

轮个数wheels和车重weight。小车类Car是Vehicle的子类,其中包含属

性载人数passenger_load。卡车Truck是Vehicle的子类,其中包含载人数

passenger_load和载重量payload。要求每个类都有相关数据的输出方法。

2.

运行程序,理解成员变量的继承与隐藏。

【程序代码】:

class Vehicle

{

public static int wheels;

public static double weight;

public Vehicle(){}

public Vehicle(int wheels,double weight)

{

wheels=0;

weight=0;

}

public void setVehicle(int wheels,double weight)

{

}

public int wheels(int wheels)

{

}

public double weight(double weight)

{

return wheels;

=wheels;

=weight;

1 / 4

Java

程序设计实验报告

return weight;

}

public void infoDetil()

{

n(\"weight=\"+weight);

}

public static void main(String[] args)

{

}

Vehicle a=new Vehicle();

icle(4,2009.4);

Truck b=new Truck();

ck(8,20);

icle(2,10000.3);

Car c=new Car();

(6);

n(\"ger_load=\" +ger_load);

n(\"ger_load=\"+ger_load);

n(\"d=\"+d);

n(\"=\"+);

n(\"=\"+);

n(\"=\"+);

n(\"=\"+);

n(\"Hello World!\");

n(\"wheels=\"+wheels);

}

class Truck extends Vehicle

{

public static int passenger_load;

public static double payload;

public Truck(){}

public void setVehicle(int wheels,double weight)

{

}

{

}

public int payload(int payload)

{

return payload;

=wheels;

=weight;

public void setTruck(int passenger_load,double payload)

d=payload;

ger_load=passenger_load;

2 / 4

Java

程序设计实验报告

}

class Car extends Vehicle

{

}

public static int passenger_load;

public Car(){}

public void setCar(int passenger_load)

{

}

ger_load=passenger_load;

}

public double passenger_load(double passenger_load)

{

return passenger_load;

}

public double passenger_load(double passenger_load)

{

}

return passenger_load;

【程序输出结果】:

【结果分析、自己的体会和收获】

在此程序之中,主要练习了继承,继承说白了就是子类继承父类(超类)的

特性来加快程序设计的时间提高程序设计的效率,继承的关键字是extends,在

C++中也有继承,和Java有相似之处,但也有差异,C++中继承可以是多继承,

既一个子类可以有多个父类,而Java中只能是单继承,既一个子类只能有一个

父类(超类),这样可以确保子类和父类(超类)之间的关系明确性,不至于因

为继承关系层次太过于复杂而在初始化,调用的时候产生歧义,但是Java之中

的接口却可以多继承,因此功能更加明晰而且完备。

关于构造器,构造器是用来对域等进行初始化时候使用的,没有明确定义构

造器,在初始化时Java程序会自动调用一个隐式的无参构造器,构造器不会被

3 / 4

Java

程序设计实验报告

子类所继承,所以子类在继承父类之后,要么自己重写一个构造器对域进行初始

化,要么调用父类(超类)的构造器,进行初始化工作,总之构造器的功能就是

初始化用的。

在子类中,当子类继承了父类的特性之后,往往子类的工作是细化和丰富,

而父类(超类)相对于子类的功能比较单薄,所以子类会改写父类(超类)的方

法体,既方法名修饰符和返回值类型都相同,只是方法体的具体实现方法有别于

父类(超类),此时Java程序在编译的时候会自动覆盖父类的方法,而调用子类

改写后的方法,将父类的方法屏蔽,此现象叫做子类对父类方法的改写(override),

和方法的重载(overload)有一定的相似性,应该加以注意。

4 / 4

更多推荐

继承,子类,方法,父类,构造,程序设计,时候