Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Java中向类数组添加对象?_Java_Arrays - Fatal编程技术网

如何在Java中向类数组添加对象?

如何在Java中向类数组添加对象?,java,arrays,Java,Arrays,我希望有人能帮我解决这个问题,我已经困惑了好几个小时了,现在想不出来了。看起来是件很容易的事。好了,这是 我有一个类,类a。类a的一个(私有)实例变量是另一个相关类(类B)的对象数组 在类a的静态方法中,我创建了几个类B的对象。我需要将这些对象添加到类a的实例变量数组中 我无法使用this直接访问实例变量,因为我被困在一个静态类中 当然,从形式上讲,如何将新创建的类B对象添加到类A的实例变量数组中 希望这是有意义的,谢谢 您需要将A的实例(要将B添加到其数组中)传递到静态方法 public st

我希望有人能帮我解决这个问题,我已经困惑了好几个小时了,现在想不出来了。看起来是件很容易的事。好了,这是

我有一个类,类a。类a的一个(私有)实例变量是另一个相关类(类B)的对象数组

在类a的静态方法中,我创建了几个类B的对象。我需要将这些对象添加到类a的实例变量数组中

我无法使用
this
直接访问实例变量,因为我被困在一个静态类中

当然,从形式上讲,如何将新创建的类B对象添加到类A的实例变量数组中


希望这是有意义的,谢谢

您需要将A的实例(要将B添加到其数组中)传递到静态方法

public static void staticMethodInA(A instanceOfA, ...) {

    instanceOfA.arrayOfB[0] = new B();

}

你快到了。正如您所说,数组是类
A
实例变量。这意味着只有当您实际拥有类
A
实例时,才可以访问它。所以你需要做的是这样的:

A a = new A(); // get an A object
System.out.println(a.arrayOfB.length); // access A's array (but see note)

注意:上面的代码只是最简单的方法。但是,通常不应直接使用
a.arrayOfB
访问阵列。相反,您应该在一个名为
getArray()
的类中定义一个将返回该数组的方法。这只是一种Java标准实践。

如何显示代码,而不是描述代码?想想看:要向一个长方体(a的实例)添加一些东西,首先需要一个长方体。为什么要使用静态类?在构造函数中传递对象数组怎么样?然后给我们一个
SSCCE
版本。链接如果数组是类
A
的实例变量,则需要
A
的实例才能拥有数组。你提出的问题毫无意义。你所说的“静态类”是什么意思?这是
A
还是
B
?或者你的意思是“静态方法”?你的回答让我想到了instanceOfA.arrayOfB[count]=objectOfB,它起了作用。先生,你是个天才。非常感谢你!哦,太近了。还是谢谢你!