假设有一个类的8个实例和类外的8个数组。类似的东西:
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);
}
答案 0 :(得分: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;
答案 1 :(得分:1)
每个类的实例都应该包含一个数组。数组可以在构造函数中传递,如下所示:
class MyClass {
private float[] t;
public MyClass(float[] aT) {
t = aT;
}
}
然后,在创建实例时,将适当的数组传递给构造函数调用:
MyClass myClass1 = new MyClass(t1);
MyClass myClass2 = new MyClass(t2);
...
答案 2 :(得分: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];
}
答案 3 :(得分:0)
您需要声明一个像
这样的float数组的ArrayListArrayList<float[]> arrayList = new ArrayList<float[]>;
然后将每个数组添加到arrayList。每个类都将访问arrayList.get(i)。
答案 4 :(得分:0)
java中没有“课外”所以
我得到了什么...你有一个班级,其中有8个Float
类型阵列你做了8个不同的班级实例..
并且通过每个对象,您想要访问不同的对象,因为“对象序列取决于它们被实例化的顺序”
因此: -
U可以将int计数器设为static
,并且每次在类u的构造函数中递增计数器并存储该值。并访问计数器的尊重值数组。