gpt4 book ai didi

java - 父类(super class)和传递值

转载 作者:行者123 更新时间:2023-11-29 03:12:36 25 4
gpt4 key购买 nike

所以我有以下代码

public class Car {
int trunkCapacity;

public Car (String manufacturer, int topSpeed, int trunkCapacity) {
super();
this.trunkCapacity = trunkCapacity;
System.out.println("Returning from Car constructor");
}

public Car () {
this("UnknownCar", 100, 1);
System.out.println("Returning from default Car constructor");
}

public String toString() {
return "This trunk capacity is" + this.trunkCapacity;
}

}

当我输入 super(manufacturer, topSpeed) 时,它一直说“构造函数 Object(String, int) 未定义”;

我需要将字符串值和 int topSpeed 传递给父类(super class),但我不确定该怎么做。我将如何输入这个 super()?

谢谢大家的帮助,你们确实帮助改进了它,但我发现主要问题出在我的另一门课上,谢谢。

最佳答案

这是你的问题:

您的类 Car 没有扩展任何父类(super class),因此您不能使用参数调用父类(super class)的构造函数。

实际上,您的类扩展了默认类 Object(每个类的父类(super class)),所以字面上您拥有的是:

public class Car extends Object {
//...
}

但是 Object 类有一个默认构造函数,因此不接受任何参数。

如果您希望调用父类(super class)并将参数传递给它,您必须创建它,并用它扩展您的 Car 类。

示例:

public class Vehicle {
public Vehicle(String manufacturer, int topSpeed) {
//...
}
}
public class Car extends Vehicle {
//...
}

要了解有关 java 中的类(和接口(interface))继承的更多信息,请删除:http://docs.oracle.com/javase/tutorial/java/IandI/subclasses.html

关于java - 父类(super class)和传递值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28492625/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com