这段代码有什么问题

这段代码有什么问题

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

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

2回答
提问者 慕九州4263855 2017-07-30 21:27:59

// 在无参构造中实现对轮子属性值进行修改

public Tricycle(){

NonMotor one=new NonMotor();

one.setWheelNum(3);

}

这段对属性值进行修改是不是错了,应该用super.name来修改?

  • 这个是可以的,他的代码运行了一下,没有问题,可以正常输出
    2017-07-31 09:41:55
好帮手慕雪 2017-07-30 19:06:30

没看出什么问题,运行结果没有问题,那就是没错。如果有错,把出错信息贴出来,好定位错误。祝:学习愉快

  • 提问者 慕九州4263855 #1
    // 在无参构造中实现对轮子属性值进行修改 public Tricycle(){ NonMotor one=new NonMotor(); one.setWheelNum(3); } 这段对属性值进行修改是不是错了,应该用super.name来修改?
    2017-07-30 21:28:58
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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