2011-11-15 45 views
0

假设在类的外部有8个类和8个数组的实例。例如:从java中的类中访问数组

float[] t1,t2,t3,t4,t5,t6,t7,t8; 


public void myclass{ 

如何从类内部访问数组字段? 这样的类的第一个实例对应于第一阵列“T1” 第二到“T2”等

} 

for (int i = 0; i < 8; i++) { 
     classID[i] = new myclass(i); 
    } 
+4

在java中没有'课外':-) – Sotomajor

+0

你是什么意思“班外的8个数组”?那些数组必须位于某处。他们在哪里将决定如何/如果你可以访问它们。 – Mat

+1

该类应该构造'float []'。除非你有很好的理由,否则我会使用'double []'。在java中, –

回答

1

在Java中,如果是出类的侧应该在其他类,所以你需要该类的对象访问阵列

class Foo{ 
    private int arr[]; 
    public int[] getArr(){ 
    return this.arr; 
    } 
} 
//from other class now 

new Foo().getArr(); 

否则它需要静态

class Foo{ 
    public static int arr[]; 
} 

//from other class 
int arr[] = Foo.arr; 
+0

对我有意义。我会试试这个,谢谢Jigar! – menemenemu

+0

欢迎您(不要忘记upvote&accept,如果这是**实际工作**你的答案:) :) –

+0

这是完美的为我的需要工作!再次感谢Jigar! – menemenemu

0

你的意思是?

MyClass[] arrays = new MyClass[8]; 
for(int i=0;i<arrays.length;i++) arrays[i] = new MyClass(); 


class MyClass { 
    final double[] values = new double[10]; 

} 
1

每个类的实例都应该包含一个数组。该阵列可以在构造函数中传递,就像这样:

class MyClass { 
    private float[] t; 

    public MyClass(float[] aT) { 
     t = aT; 
    } 
} 

然后,当你创建你的情况下,通过适当的数组构造函数调用:

MyClass myClass1 = new MyClass(t1); 
MyClass myClass2 = new MyClass(t2); 
... 
0

您将需要申报浮动的ArrayList数组如

ArrayList<float[]> arrayList = new ArrayList<float[]>; 

然后将每个数组添加到arrayList。每个类将访问arrayList.get(i)。

+0

这听起来不错,我会试试! – menemenemu

+0

为什么downvote? – Tudor

0

没有在Java“类的外部”所以 我所得到的信息ü..为u有一个类,其中有8 Float型排列U了你的类的8个不同的实例..
而通过每个对象ü要访问不同的对象,因为“对象的顺序是依赖于序列,它们被实例化”
所以对于: -
U可以使每次在构造一个INT计数器为static和类u增加计数器并存储该值。并访问计数器的推荐值数组。