Не можете сделать статическую ссылку, даже если ничего не статично?
У меня хороший класс. У него хороший внутренний класс. Этот внутренний класс имеет несколько хороших общедоступных переменных.
Как я могу использовать переменные внутреннего класса в конструкторе внешнего класса?
public class Outer {
class Inner {
public int id;
public Inner () { }
}
public Outer () {
System.out.println(Inner.id); // Error!
}
}
"Невозможно сделать статическую ссылку на нестатическое поле Inner.id."
Этот проект использует Gson; класс Inner и его идентификатор свойства определяются некоторым JSON, например так:
{
"Outer": {
"Inner": {
"id": 0
}
}
}
Затем я вызываю сериализацию с использованием Gson, как обычно.
Gson gson = new Gson();
Outer o = gson.fromJson(json, Outer.class);
Я что-то здесь не так делаю? Я могу изменить Inner на статический класс вместе с id, но это заставит Gson вырваться. Я могу установить статические геттеры и сеттеры, но это тоже не работает.
Любая помощь будет оценена.