vehicle类
要求:(1)按照题目所给变量名称、类型和方法名称进行编程,禁止修改;
(2)所有成员变量的权限为private,所有成员方法的权限为public;
(3)编程环境可选,Eclipse和JDK均可。
- 交通工具类(vehicle)
成员变量:
类型(vType) String类型 如: 小型车、大型车
载客人数(vNum) int类型 如: 20
构造方法:
构造方法(1),输出“创建了一个交通工具”;
构造方法(2),调用构造方法(1),并通过形参初始化类型(vType)和载客人数(vNum);
普通方法:
设置get和set方法用于获取和设置类中各个变量的值;
重写Equals方法,当且仅当类型(vType)和载客人数(vNum) 均相等时,即为同一交通工具。S
重写toString方法,返回类型(vType)和载客人数(vNum)的信息
样式如下:类型:小型车,载客人数:20 - 计费接口(Charge)
成员方法:
billingMethods( ),用于输出不同类型交通工具的不同计费方式,如:
公交车计费方式:
一元/张(不计公里数) - 公交车类(Bus)
继承vehicle类
实现Charge接口
成员变量:
线路号(bNo) String类型 如:5路、4路
线路(line) String类型 如:科技学院—火车站
构造方法:
先调用父类构造方法(2)初始化类型(vType)和载客人数(vNum),再初始化线路号(bNo)和线路(line)。
普通方法:
重写billingMethods( )方法。
定义showBus()方法,用于输出Bus对象的所有信息(父类和子类) - 通过main函数测试。
创建两个vehicle对象v1和v2,分别输出v1和v2,并调用其equals方法判断两个对象是否相等;
创建一个Bus对象,调用其showBus()方法和billingMethods( )方法。
package tongxin3;
public class AppVehicle1 {
public static void main(String[] args) {
vehicle v1=new vehicle("出租车", 5);
vehicle v2=new vehicle("出租车", 5);
v1.equals(v2);
v1.toString();
v2.toString();
Bus b1=new Bus("5路", "科技学院五号路");
b1.showBus();
b1.billingMethods("公交车");
}
}
class vehicle{
String vType;
int vNum;
public vehicle() {
super();
System.out.println("创建了一个交通工具");
}
public vehicle(String vType, int vNum) {
this();
this.vType = vType;
this.vNum = vNum;
}
public String getvType() {
return vType;
}
public void setvType(String vType) {
this.vType = vType;
}
public int getvNum() {
return vNum;
}
public void setvNum(int vNum) {
this.vNum = vNum;
}
public void equals(vehicle v) {
if (v.vType.equals(this.vType)) {
if (v.vNum==this.vNum) {
System.out.println("这两个类型相同");
}
}else {
System.out.println("这两个类型不同");
}
}
@Override
public String toString() {
System.out.println("类型"+vType+"载客人数"+vNum);
return "vehicle [vType=" + vType + ", vNum=" + vNum + "]";
}
}
interface Charge{
public static void billingMethods(String vType) {
if (vType=="小型车") {
System.out.println("五元起步,超过五公里后,超过部分/一元");
}else if (vType=="公交车") {
System.out.println(vType+"一元/一张(不记公里数)");
}
}
}
class Bus extends vehicle implements Charge{
String bNo;
String line;
public Bus(String bNo, String line) {
super("公交车",15);
this.bNo = bNo;
this.line = line;
}
public static void billingMethods(String vType) {
if (vType=="公交车") {
System.out.println(vType+"一元/一张(不记公里数)");
}
}
public void showBus() {
System.out.println("类型"+vType+"载客人数"+vNum+"线路号"+bNo+"线路"+line);
}
}