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

时间:2013-05-08 17:31:46

标签: java arrays

我希望有人可以帮助我,我已经困惑了几个小时,现在无法解决这个问题。看起来真的很容易做。好的,这就是......

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

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

我无法使用this直接访问实例变量,因为我被困在Static类中。

当然,我怎样才能将新创建的B类对象添加到A类的实例变量数组中。

希望这是有道理的,谢谢!

2 个答案:

答案 0 :(得分:0)

您需要将要添加B的数组的A实例传递给静态方法。

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

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

}

答案 1 :(得分:0)

你快到了。如你所说,数组是类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访问数组。相反,您应该在A类中定义一个名为getArray()的方法,该方法将返回该数组。这只是Java标准实践。