就是说,内部的private class xxx 里面要对外面的class的非static变量进行操作, 所以不能把xxx设static。 只能把这些本来就是常数的数组拿到外围。
【在 N***m 的大作中提到】 : : 这句话什么意思?你难道不能new 两个xxx对象?
N*m
16 楼
我不明白你说的和static class有什么关系? 不知道我理解得的确不确切:) 比如 public class B { public int k; } public class Main { B b1 = new B(); B b2 = new B(); xxx x = new xxx(this.b1, 1); xxx y = new xxx(this.b2, 2); public static void main(final String[] args) { final Main m = new Main(); System.out.println(m.b1.k); System.out.println(m.b2.k); } private static class xxx { private static final int[] aa = { 1, 2, 3 };// this one public xxx(final B b, final int j) { b.k = xxx.aa[j]; } } } 最后一个方法可以对传进来的B对象(非static)进行操作阿。。