java类与对象基础题(末考)总结四(继承、接口、重写方法等)

该博客围绕Java编程,详细介绍了交通工具类(vehicle)的成员变量、构造方法和普通方法,还定义了计费接口(Charge)。公交车类(Bus)继承vehicle类并实现Charge接口,给出了其成员变量、构造方法和普通方法。最后通过main函数对相关对象进行测试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

vehicle类

要求:(1)按照题目所给变量名称、类型和方法名称进行编程,禁止修改;
(2)所有成员变量的权限为private,所有成员方法的权限为public;
(3)编程环境可选,Eclipse和JDK均可。

  1. 交通工具类(vehicle)
    成员变量:
    类型(vType) String类型 如: 小型车、大型车
    载客人数(vNum) int类型 如: 20
    构造方法:
    构造方法(1),输出“创建了一个交通工具”;
    构造方法(2),调用构造方法(1),并通过形参初始化类型(vType)和载客人数(vNum);
    普通方法:
    设置get和set方法用于获取和设置类中各个变量的值;
    重写Equals方法,当且仅当类型(vType)和载客人数(vNum) 均相等时,即为同一交通工具。S
    重写toString方法,返回类型(vType)和载客人数(vNum)的信息
    样式如下:类型:小型车,载客人数:20
  2. 计费接口(Charge)
    成员方法:
    billingMethods( ),用于输出不同类型交通工具的不同计费方式,如:
    公交车计费方式:
    一元/张(不计公里数)
  3. 公交车类(Bus)
    继承vehicle类
    实现Charge接口
    成员变量:
    线路号(bNo) String类型 如:5路、4路
    线路(line) String类型 如:科技学院—火车站
    构造方法:
    先调用父类构造方法(2)初始化类型(vType)和载客人数(vNum),再初始化线路号(bNo)和线路(line)。
    普通方法:
    重写billingMethods( )方法。
    定义showBus()方法,用于输出Bus对象的所有信息(父类和子类)
  4. 通过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);
	}
}

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值