5-2出租 家用轿车 练习,麻烦老师看看,谢谢

5-2出租 家用轿车 练习,麻烦老师看看,谢谢

package com.x.auto;

public class Car {
	// 属性:车的颜色color、车主姓名userName
	private String color;
	private String userName;

	public Car() {

	}

	// 带参构造函数(参数为color和useName)
	public Car(String colorl, String userNamel) {
		this.setColor(colorl);
		this.setUserName(userNamel);
	}

	// 通过封装实现对私有属性的get/set操作
	public String getColor() {
		return color;
	}

	public void setColor(String color) {
		this.color = color;
	}

	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}

	// 创建无参无返回值得方法use(描述内容为:我是机动车!)
	public void use() {
		System.out.println("我是自走神兽!");
	}
	// 重写equals方法,比较两个对象是否相等(比较color,userName)

	@Override
	public boolean equals(Object obj) {
		// TODO Auto-generated method stub
		Car temp = (Car) obj;
		if (this.getUserName().equals(temp.getUserName()) && this.getColor() == temp.getColor()) {
			return true;
		} else
			return false;
	}

}
public final class HomeCar extends Car {
	// 私有属性:载客数(num)
	private int num;

	public HomeCar() {

	}

	// 带参构造方法为所有属性赋值
	public HomeCar(String Color, String User, int Num) {
		super(Color, User);
		this.setNum(Num);
	}

	// 通过封装实现对私有属性的get/set操作
	public int getNum() {
		return num;
	}

	public void setNum(int num) {
		this.num = num;
	}

	// 创建无参无返回值的display方法,表现为:**拥有的**颜色的私家车,有**座位
	public void display() {
		System.out.println(this.getUserName() + "拥有的" + this.getColor() + "颜色的私家车,有" + this.getNum() + "座位");
	}
	// 重载display方法(带参数num),描述为:家用汽车大多有**个座位
	public void display(int Num){
		System.out.println("家用车大多有"+this.getNum()+"个座位");
	}
}
public class Taxi extends Car {
	// 私有属性:所属公司( company)
	private String company;

	public Taxi() {

	}

	// 调用父类的构造方法,完成属性赋值
	public Taxi(String Color, String Name, String Company) {
		super(Color, Name);
		this.setCompany(Company);
	}

	// 通过封装实现对私有属性的get/set操作
	public String getCompany() {
		return company;
	}

	public void setCompany(String company) {
		this.company = company;
	}

	// 创建不允许重写的ride方法,描述为:**出租车是所属于***公司的。
	public final void ride() {
		System.out.println(this.getUserName() + "的出租车是所属于" + this.getCompany());
	}

	// 重写父类use方法,描述为:出租车是提高市民生活质量的重要条件之一
	@Override
	public void use() {
		// TODO Auto-generated method stub
		System.out.println("出租车是城市的祸害");
	}

	// 重写toString方法,输出的表现形式不同(输出color,userName)
	@Override
	public String toString() {
		// TODO Auto-generated method stub
		return this.getUserName()+"拥有的是一辆"+this.getColor()+"的出租车";
	}
}
public class Test {
	public static void main(String[] args) {
		// 实例化父类对象,并传入两组相同的属性值
		Car car1 = new Car("绿色", "老王");
		Car car2 = new Car("绿色", "老王");

		// 调用父类use方法
		car1.use();

		// 通过重写equals方法,比较两个对象是否相等
		if (car1.equals(car2)) {
			System.out.println("同型号四脚兽");
		} else
			System.out.println("杠杠不同哈");

		System.out.println("==================================");
		// 实例化子类Taxi对象,并传入属性值
		Taxi ta = new Taxi("白色", "刘麻子", "上路没公司");
		// 调用ride和use方法
		ta.ride();
		ta.use();
		// 输出重写toString后的taxi信息
		System.out.println(ta.toString());
		System.out.println("==================================");
		// 实例化子类HomeCar对象,并传入属性值
		HomeCar hc = new HomeCar("透明", "大头", 919);
		hc.display();
		// 调用display方法及它的重载方法

	}
}


正在回答

登陆购买课程后可参与讨论,去登陆

1回答

依然没毛病哦。渐入佳境哦。妥妥的。注释都写这么多。说到注释,方法的注释推荐使用文档注释哦(/**  注释 **/),那样的话,我们在main里调用方法时鼠标放到上面就可以看到我们写的注释喽。

  • 慕粉2242067667 提问者 #1
    注释是复制题目里自带的哈,自己没写。第一个作业就因为没写注释还扣分了哈
    2017-03-29 19:25:18
  • Python工程师 回复 提问者 慕粉2242067667 #2
    好吧。。。多写注释有好处滴。
    2017-03-30 09:21:23
  • 慕粉2242067667 提问者 回复 Python工程师 #3
    刚开始学,不知道该写啥。。。。正在努力试着写点
    2017-03-30 23:06:47
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师