Решил объявив inner class как статический. правильно я понимаю, что в этом этом случае все четыре переменные:
public static Solution[] getTwoSolutions() {
Solution[] solutions = new Solution[2];
solutions[0] = new Solution();
solutions[0].innerClasses[0] = new InnerClass();
solutions[0].innerClasses[1] = new InnerClass();
solutions[1] = new Solution();
solutions[1].innerClasses[0] = new InnerClass();
solutions[1].innerClasses[1] = new InnerClass();
return solutions;
}
ссылаются на одну и ту же область памяти, на статический InnerClass?
Вот такой эксперимент, показывает, что я неправильно понимаю :(
public static void main(String[] args) {
Solution[] solutions = getTwoSolutions();
solutions[0].innerClasses[0].setI(1);
System.out.println(solutions[0].innerClasses[1].getI());
}
выводится 0...
corvit
39 уровень
Статический класс
Новый
Комментарии
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
У этой страницы еще нет ни одного комментария