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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
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下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

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