Не можете сделать статическую ссылку, даже если ничего не статично?

У меня хороший класс. У него хороший внутренний класс. Этот внутренний класс имеет несколько хороших общедоступных переменных.

Как я могу использовать переменные внутреннего класса в конструкторе внешнего класса?

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 вырваться. Я могу установить статические геттеры и сеттеры, но это тоже не работает.

Любая помощь будет оценена.

Ответы на вопрос(2)

Ваш ответ на вопрос