Java 使用构造函数参数初始化对象数组
假设我有两门课:Java 使用构造函数参数初始化对象数组,java,arrays,parameters,constructor,Java,Arrays,Parameters,Constructor,假设我有两门课: public class Carinfo { private String Car; private Carinfo [] value; Carinfo (String someCar, int carValue) { this.car = someCar; //At this point I want the "int carValue" to initialize private Carinfo [] value } 第二个类创建汽车对象,在本例中,我将使用数组来
public class Carinfo {
private String Car;
private Carinfo [] value;
Carinfo (String someCar, int carValue) {
this.car = someCar;
//At this point I want the "int carValue" to initialize private Carinfo [] value
}
第二个类创建汽车对象,在本例中,我将使用数组来创建
public class Generatecar {
Carinfo[] mycars = new Carinfo[1];
public Generatecar {
mycars[0] = new Carinfo("Lada", 9000);
}
我想要的是将carValue插入到私有Carinfo[]值中;数组。如何在Carinfo构造函数中初始化数组
如果我说了一些不清楚的话,请告诉我。您可以用设置任何其他变量的相同方式设置数组变量:
mycars = new Carinfo[i];
试着像这样创建
constructor
:
Carinfo (String someCar, int carValue) {
this.car = someCar;
this.value = new Carinfo[carValue];
}
您可以按照通常的方式在构造函数中初始化值数组:
public Carinfo(String someCar, int carValue) {
this.car = someCar;
value = new Carinfo[1];
}
但是,当您尝试在carinfo数组中添加int时,会遇到问题。
我不知道你打算在数组中放什么其他的值,但是你应该考虑把它的类型改成int(如果这是你唯一要放进去的)。< > p> value =新的CINFIN[CARVAL]; 首先想一想,在构造器之外你会怎么做?构造函数周围缺少括号。那么数组的所有元素是否都应该具有相同的值(9000)?如果将数组的大小固定为
1
,为什么要在GenerateCar
类中声明数组。为什么不直接使用普通的Carinfo
reference?在我看来,Carinfo
s的数组本身没有意义。为什么Carinfo
包含Carinfo
s的数组?这个数组代表什么?如何填充它(没有无限递归)?也许你应该详细说明这些类应该代表什么以及你试图完成什么,而不是仅仅在没有任何上下文的情况下发布代码。这一次对它进行了排序,我能够验证我需要的信息是否在正确的数组中。意思是我可以继续做作业