2011-11-15 47 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增加計數器並存儲該值。並訪問計數器的推薦值數組。