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方法及它的重载方法 } } |
128
收起
正在回答
1回答
依然没毛病哦。渐入佳境哦。妥妥的。注释都写这么多。说到注释,方法的注释推荐使用文档注释哦(/** 注释 **/),那样的话,我们在main里调用方法时鼠标放到上面就可以看到我们写的注释喽。
Android零基础入门2018版
- 参与学习 人
- 提交作业 5461 份
- 解答问题 7235 个
此次推出的专题为Android攻城狮培养计划的第一部分语法与界面基础篇,将带大家从0开始学习Android开发。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧