-7

我知道如何从 A 类引用 B 类的方法,但我在引用数据时遇到了困难。例如

class A 
{
    int[] array1;
    method 1
    {
        //do something and ...
        array1 = something;
    }
}

然后在B班

class B
{
    int[] array2 = new B.array;
}

但是这里的 array2 只是新的空白数据结构,其中没有实际数据。在 B 类中,如何使用 A 类现有的 array1 数据?

例如,array1 可以是视频流数据。

谢谢你,肖恩

4

2 回答 2

1

在 class 中公开数组AA然后,您可以从, in的现有实例访问它B

class B
{
    int[] array2;

    // constructor function for class B
    public B(A aInstance) {
        // set array2 to aInstance's array1
        array2 = aInstance.array1;
    }
}

A a = new A();
B b = new B(a);

您也可以array1A. 您可以从那里访问它A.array1

访问修饰符

于 2013-03-16T03:18:53.990 回答
0

你有几点困惑。

首先,在 中Class A,成员变量Array 1默认为私有访问,因此您无法从 B 类“看到”它。

其次,好的设计需要您呈现Array 1以下属性Class A

class A
{
int[] array1;

public int[] TheArray
  {
    get { return array1; }
    set { array1 = value; }
  }
}

然后你可以写:

class B

void myMethod() {
 int[] array2 = A.TheArray;
}
于 2013-03-16T03:21:33.637 回答