java - 不确定为什么我的实例出现错误

标签 java

我创建了两个类,PassCarMotor 。我的项目要求我创建一个 Motor每个 PassCar 的实例,但我正在努力这样做。当我尝试创建 Motor 的实例时在PassCar ,它不起作用。

我已经尝试过了 Motor motor = new Motor();private Motor motor = new Motor();

下面是我的 PassCar 代码 该错误指出构造函数 Motor未定义。

public class PassCar extends Vehicle{

    private Motor motor = new Motor();// the error 
    private int numPass;
    private boolean AC;

    public PassCar(String make, String model, int year, double price, int numPass, boolean aC, Motor motor) {
        super(make, model, year, price);
        this.numPass = numPass;
        AC = aC;
        this.motor = motor;

    }


    public int getNumPass() {
        return numPass;
    }

    public void setNumPass(int numPass) {
        this.numPass = numPass;
    }

    public boolean isAC() {
        return AC;
    }

    public void setAC(boolean aC) {
        AC = aC;
    }

    public Motor getMotor() {
        return motor;
    }

    public void setMotor(Motor motor) {
        this.motor = motor;
    }


    public void description() {
        System.out.print("In this application, a passenger car is an every day vehicle registered to an individual");
    }

    @Override
    public String toString() {
        String s  = super.toString();
        s += "PassCar numPass = " + numPass + ", AC = " + AC + ", motor = " + motor;
        return s;
    }



}

电机类代码

public class Motor {

    private String name;
    private int cylinders;
    private int bhp;
    private double displacement;

    public Motor(String name, int cylinders, int bhp, double displacement) {
        super();
        this.name = name;
        this.cylinders = cylinders;
        this.bhp = bhp;
        this.displacement = displacement;
    }





    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getCylinders() {
        return cylinders;
    }

    public void setCylinders(int cylinders) {
        this.cylinders = cylinders;
    }

    public int getBhp() {
        return bhp;
    }

    public void setBhp(int bhp) {
        this.bhp = bhp;
    }

    public double getDisplacement() {
        return displacement;
    }

    public void setDisplacement(double displacement) {
        this.displacement = displacement;
    }

    @Override
    public String toString() {
        return "Motor name = " + name + ", cylinders = " + cylinders + ", bhp = " + bhp + ", displacement = " + displacement;
    }

}

打印输入信息的代码

公共(public)类VehicleTest{

public static void main(String[] args) {

    PassCar p1 = new PassCar("Ford", "Mustang", 2016, 44500.0, 5, true, "EcoBoost", 6, 310, 2.3);
    System.out.print(p1);
}

}

最佳答案

问题就在这里

public Motor(String name, int cylinders, int bhp, double displacement) {
    super();
    this.name = name;
    this.cylinders = cylinders;
    this.bhp = bhp;
    this.displacement = displacement;
}

您已经创建了一个带有一些参数的构造函数,但您尝试在此处调用不带参数的构造函数

private Motor motor = new Motor();  //cant find constructor that takes no arguments

要解决此问题,您必须声明一个不带参数的构造函数以及另一个构造函数。

public Motor(){
 //code here
}

关于java - 不确定为什么我的实例出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55310084/

相关文章:

java - Spring MVC。 HTTP 状态 500 - 实例化 servlet 时出错

java - CircleCI在已编译的工件上运行JUnit测试

java - CDI + JPA + EJB + JTA + JSF——使用 PostgreSQL 的 JBoss-Kitchen 示例?

java - 逐字打乱字符串

java - 在获取 facebook 数据时,它会抛出 facebook 网络异常和 java.net.MalformedURLException : no protocol: me/feed?

java - 如何避免使用 Spring-Boot 下载嵌入式 MongoDb

java - 使用 Spring Jms 问题异步发送到队列

java - Window.Open 的浏览器 URL 的最大长度是多少

java - 如何在 Spring 创建所有带有 Flyway 的模型?

java.lang.ClassCastException : com. google.gson.internal.LinkedTreeMap 无法转换为模型