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