Java 不确定我的实例为什么会出错
我创建了两个类,Java 不确定我的实例为什么会出错,java,Java,我创建了两个类,PassCar和Motor。我的项目要求我为每个PassCar创建一个Motor实例,但我很难做到这一点。当我尝试在PassCar中创建Motor的实例时,它不起作用 我试过了 电机=新电机() 及 专用电机=新电机() 下面是我的密码PassCar 该错误表示构造函数电机未定义 public class PassCar extends Vehicle{ private Motor motor = new Motor();// the error privat
PassCar
和Motor
。我的项目要求我为每个PassCar
创建一个Motor
实例,但我很难做到这一点。当我尝试在PassCar
中创建Motor
的实例时,它不起作用
我试过了
电机=新电机()代码>
及
专用电机=新电机()代码>
下面是我的密码PassCar
该错误表示构造函数电机未定义
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 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
}
尝试在Motor类中添加以下代码
公共汽车(){
}将空参数构造函数添加到Motor类中。像这样,
public Motor() {
}
嗯,在哪里定义了电机类?刚刚发布了我的电机类,它在那里定义了。我刚刚发布了我的电机类。我已经有了publicmotor(){},你有了带参数的构造函数。你需要添加空的构造函数来修复我的错误谢谢,但是在你可以帮我解决问题之后,我马上给了我另一个构造函数我正在尝试打印我输入的一辆车的信息,但是现在它给了我一个错误,说我的PassCar构造函数是undefined@anon什么错误?我将编辑我的帖子并添加刚刚发布的代码code@anon它是同样的问题。您已经定义了一个接受某些特定参数的构造函数。用这些参数调用协构造函数<代码>帕斯卡p1=新帕斯卡(“福特”、“野马”,2016,44500.0,5,正确,新汽车(“EcoBoost”,6310,2.3))代码>