我知道如何从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可能是视频流数据。
谢谢你, 肖恩
答案 0 :(得分:1)
在类A
中公开数组。然后,您可以在A
中的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);
您还可以在array1
中设置A
静态。从那里,您可以从A.array1
。
<强> Access Modifiers 强>
答案 1 :(得分: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;
}