Java 尝试从另一个子类继承时出错?

Java 尝试从另一个子类继承时出错?,java,Java,既然摩托扩展了摩托车,为什么它告诉我摩托需要制造一个构造器?我想让Moped在没有任何构造函数的情况下工作。因为Motorcycle没有默认构造函数,您不能在Moped中使用它-但是您可以为Moped添加一个空构造函数,比如 public class Vehicle { private double speed; private int wheels; public Vehicle() { } public Vehicle(double speed, int whee

既然摩托扩展了摩托车,为什么它告诉我摩托需要制造一个构造器?我想让Moped在没有任何构造函数的情况下工作。

因为
Motorcycle
没有默认构造函数,您不能在
Moped
中使用它-但是您可以为
Moped
添加一个空构造函数,比如

public class Vehicle {

  private double speed;
  private int wheels;

  public Vehicle() {

  }

  public Vehicle(double speed, int wheels) {
    this.speed = speed;
    this.wheels = wheels;
  }

}


public class Motorcycle extends Vehicle {

  private double engineSize;

  public Motorcycle(double speed, double engine) {
    super(speed, 2);
    this.engineSize = engine;
  }

}


public class Moped extends Motorcycle {


}
公共级轻便摩托车{
公共轻便摩托车{

super(70,50);//因为
摩托车
没有默认的构造函数,所以不能在
轻便摩托车
中使用它,但可以为
轻便摩托车
添加一个空构造函数,比如

public class Vehicle {

  private double speed;
  private int wheels;

  public Vehicle() {

  }

  public Vehicle(double speed, int wheels) {
    this.speed = speed;
    this.wheels = wheels;
  }

}


public class Motorcycle extends Vehicle {

  private double engineSize;

  public Motorcycle(double speed, double engine) {
    super(speed, 2);
    this.engineSize = engine;
  }

}


public class Moped extends Motorcycle {


}
公共级轻便摩托车{
公共轻便摩托车{

super(70,50);//如果一个类没有无参数构造函数,那么每个子类都必须通过super()调用它显式定义的一个构造函数。这是Java作为详细语言的一个示例;它不会假定它可以继承构造函数。

如果一个类没有无参数构造函数,那么每个子类都必须通过super()调用它显式定义的构造函数之一。这是Java作为详细语言的一个示例;它不会假定它可以继承构造函数