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
更多推荐
继承,子类,方法,父类,构造,程序设计,时候
发布评论