新建一个Hello类,代码拷贝进行即可运行...
项目一 1,2
题目:
项目一:
1.设计一个汽车类Auto,
其中包含一个表示速度的double型成员变量speed和表示启动的start()方法、
表示加速的speedUp()方法以及表示停止的stop()方法。方法体内写一个输出语句即可。
2.再设计一个Auto类的子类Bus表示公共汽车,
在Bus类中定义一个int型的表示乘客数的成员变量passenger,
另外定义两个方法getOn()和getOff()表示乘客上乘和下车。
编写一个应用程序BusTest,通过向下转型分别输出子类对象中的各成员变量和方法。
3.改写程序,定义一个接口A包含一个返回值为double类型的抽象方法distance()和一个全局常量HOUR=10,
定义另一个接口B包含一个返回值为double类型的抽象方法cost(),
分别定义三个类Bus、Train、Plane都实现A、B两接口,Bus类包含一个常量SPEED=60,
同时覆写distance()方法,计算距离=时间*速度。
覆写cost()方法,在cost()方法下声明一个double类型的常量COSTOFPERKILOMETER=2.5,通过调用distance()方法乘以常量COSTOFPERKILOMETER作为返回结果;
Train类包含一个常量SPEED=130,同时覆写distance()方法,计算距离=时间*速度。
覆写cost()方法,在cost()方法下编写流程控制结构,如果输入“儿童”,返回值是72.6,如果输入“成人”,返回值是145.2;
Plane类包含一个常量SPEED=315,同时覆写distance()方法,计算距离=时间*速度。
覆写cost()方法,在cost()方法下编写流程控制结构,如果输入“经济舱”,返回值是1123.5,如果输入“商务舱”,返回值是2315.5;
通过测试程序Test类,分别实例化Bus、Train、Plane对象,并调用每个对象的两个方法。
// 汽车类
class Auto {
private double speed = 0.0; // 速度
// 启动方法
public void start() {
System.out.println("汽车正在启动...");
}
// 加速方法
public void speedUp() {
System.out.println("汽车开始加速...");
this.speed += 1.23;
}
// 停止方法
public void stop() {
System.out.println("汽车即将停止...");
}
}
// Bus类继承汽车类
class Bus extends Auto{
private int passenger = 0; // 人数
// 上车方法
public void getOn() {
System.out.println("上车请往后走...");
this.passenger += 1;
}
// 下车方法
public void getOff() {
System.out.println("下车请注意安全...");
}
}
// 主类 & 测试类
class Hello {
public static void main(String[] args) {
// 向上转型
Auto auto = new Bus();
// 向下转型
Bus bus = (Bus)auto;
// 调用方法
bus.start();
bus.getOn();
bus.speedUp();
bus.getOff();
bus.stop();
}
}
运行结果:
项目一 3
import java.util.Scanner;
// 接口A
interface A {
public static final int HOUR = 10; // 时间
double distance();
}
// 接口B
interface B {
double cost();