麻烦老师看看代码有什么需要改进的地方
package Test; import Vehicle.*; public class TestDemo { public static void main(String[] args) { NonMotor nm= new NonMotor("天宇","红色",2,4); System.out.println(nm.work()); Bicycle b=new Bicycle("捷安特","黄"); System.out.println(b.str()); ElectricVehicle ev=new ElectricVehicle("飞鸽"); System.out.println(ev.str()); TriCycle tc = new TriCycle(); System.out.println(tc.str()); } } package Vehicle; public class NonMotor { // 私有属性:品牌、颜色、轮子(默认2个)、座椅(默认 1个) private String brand; private String color; private int wheels; private int seat; // 无参构造方法 public NonMotor(){ this.setSeat(1); this.setWheels(2); } // 双参构造方法,完成对品牌和颜色的赋值 public NonMotor(String brand,String color) { this.setBrand(brand); this.setColor(color); this.setSeat(1); this.setWheels(2); } // 四参构造方法,分别对所有属性赋值 public NonMotor(String brand,String color,int seat,int wheels) { this.setBrand(brand); this.setColor(color); this.setSeat(seat); this.setWheels(wheels); } // 公有的get***/set***方法完成属性封装 // 方法:运行,描述内容为:这是一辆**颜色的,**牌的非机动车,有**个轮子,有**个座椅的非机动车。其中**的数据由属性提供 public String work() { return "这是一辆"+this.getColor()+"颜色的,"+this.getBrand()+"牌的非机动车,有"+this.getWheels()+"个轮子,有"+this.getSeat()+"个座椅的非机动车。其中**的数据由属性提供"; } public String getBrand() { return brand; } public void setBrand(String brand) { this.brand = brand; } public String getColor() { return color; } public void setColor(String color) { this.color = color; } public int getWheels() { return wheels; } public void setWheels(int wheels) { this.wheels = wheels; } public int getSeat() { return seat; } public void setSeat(int seat) { this.seat = seat; } } package Vehicle; public class Bicycle extends NonMotor { public Bicycle() { super(); } public Bicycle(String brand,String color) { super(brand,color); } public String str() { return "这是一辆"+this.getColor()+"颜色的,"+this.getBrand()+"牌的自行车。其中**的数据由属性提供"; } } package Vehicle; public class ElectricVehicle extends NonMotor { private String batteryBrand; public ElectricVehicle(String batteryBrand) { this.setBatteryBrand(batteryBrand); } public String str() { return "这是一辆使用"+this.getBatteryBrand()+"牌电池的电动车。其中**的数据由属性提供"; } public String getBatteryBrand() { return batteryBrand; } public void setBatteryBrand(String batteryBrand) { this.batteryBrand = batteryBrand; } } package Vehicle; public class TriCycle extends NonMotor{ public TriCycle() { super.setWheels(3); } public String str() { return "三轮车是一款有"+this.getWheels()+"个轮子的非机动车。其中**的数据由属性提供"; } }
0
收起
正在回答
1回答
运行效果符合题目要求,但是根据任务分析,自行车、电动车以及三轮车应该重写父类中的work()方法。而不是新创建;建议同学根据任务分析进行修改哟~
祝学习愉快!
相似问题
登录后可查看更多问答,登录/注册
Java零基础入门18
- 参与学习 人
- 提交作业 7317 份
- 解答问题 14452 个
想要入门学编程?多年一直活跃在编程语言排行版前列的Java是一个很好的选择。本路径将从Java基础语法、面向对象、常用工具类三部分,为你开启软件开发的大门!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星