这段代码有什么问题
package com.imooc.nonmotor;
public class NonMotor {
// 私有属性:品牌、颜色、轮子(默认2个)、座椅(默认 1个)
private String brand;
private String color;
private int wheelNum;
private int seatNum;
//无参构造
public NonMotor(){
}
// 双参构造方法,完成对品牌和颜色的赋值
public NonMotor(String brand,String color){
this.setBrand(brand);
this.setColor(color);
}
// 四参构造方法,分别对所有属性赋值
public NonMotor(String brand,String color,int wheelNum,int seatNum){
this.setBrand(brand);
this.setColor(color);
this.setWheelNum(wheelNum);
this.setSeatNum(seatNum);
}
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 getWheelNum() {
return wheelNum;
}
public void setWheelNum(int wheelNum) {
if(wheelNum<2)
this.wheelNum=2;
else
this.wheelNum = wheelNum;
}
public int getSeatNum() {
return seatNum;
}
public void setSeatNum(int seatNum) {
if(seatNum<1)
this.seatNum=1;
else
this.seatNum = seatNum;
}
// 方法:运行,描述内容为:这是一辆**颜色的,**牌的非机动车,有**个轮子,有**个座椅的非机动车。其中**的数据由属性提供
public void Run(){
System.out.println("这是一辆"+this.getColor()+"颜色的,"+this.getBrand()+"牌的非机动车,有"+this.getWheelNum()+
"个轮子,有"+this.getSeatNum()+"个座椅的非机动车。");
}
}
===============================
package com.imooc.nonmotor;
public class Bicycle extends NonMotor {
// 在构造方法中调用父类多参构造,完成属性赋值
public Bicycle(){
super();
this.setColor("黄");
this.setBrand("捷安特");
}
// 重写运行方法,描述内容为:这是一辆**颜色的,**牌的自行车。其中**的数据由属性提供
public void Run(){
System.out.println("这是一辆"+this.getColor()+"颜色的,"+this.getBrand()+"牌的自行车。");
}
}
=============================
package com.imooc.nonmotor;
public class ElectricVehicle extends NonMotor {
// 私有属性:电池品牌
private String batteryBrand;
public String getBatteryBrand() {
return batteryBrand;
}
public void setBatteryBrand(String batteryBrand) {
this.batteryBrand = batteryBrand;
}
// 重写运行方法,描述内容为:这是一辆使用**牌电池的电动车。其中**的数据由属性提供
public void Run(){
System.out.println("这是一辆使用"+this.getBatteryBrand()+"牌电池的电动车。");
}
}
==========================
package com.imooc.nonmotor;
public class Tricycle extends NonMotor {
// 在无参构造中实现对轮子属性值进行修改
public Tricycle(){
NonMotor one=new NonMotor();
one.setWheelNum(3);
}
// 重写运行方法,描述内容为:三轮车是一款有**个轮子的非机动车。其中**的数据由属性提供
public void Run(){
System.out.println("三轮车是一款有"+this.getWheelNum()+"个轮子的非机动车。");
}
}
=============================
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
NonMotor one= new NonMotor();
one.setColor("红");
one.setBrand("天字");
one.setWheelNum(4);
one.setSeatNum(2);
one.Run();
Bicycle two =new Bicycle();
two.Run();
ElectricVehicle three=new ElectricVehicle();
three.setBatteryBrand("飞鸽");
three.Run();
Tricycle four =new Tricycle();
four.setWheelNum(3);
four.Run();
}
}
正在回答 回答被采纳积分+1
// 在无参构造中实现对轮子属性值进行修改
public Tricycle(){
NonMotor one=new NonMotor();
one.setWheelNum(3);
}
这段对属性值进行修改是不是错了,应该用super.name来修改?
- 参与学习 人
- 提交作业 7317 份
- 解答问题 14452 个
想要入门学编程?多年一直活跃在编程语言排行版前列的Java是一个很好的选择。本路径将从Java基础语法、面向对象、常用工具类三部分,为你开启软件开发的大门!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星