Предположим, что у меня есть внешний класс с внутренним классом внутри. Внутренний класс имеет четыре поля со всеми возможными модификаторами доступа.
class Outer {
private class Inner {
public int publicField;
protected int protectedField;
int packagePrivatefield;
private int privateField;
}
void doSomethingWithFields() {
Inner inner = new Inner();
inner.publicField = 111;
inner.protectedField = 111;
inner.packagePrivatefield = 111;
inner.privateField = 111;
}
}
Внутренний класс является закрытым, поэтому я не могу создавать его экземпляры вне класса Outer. Внутри класса Outer, если я создаю экземпляр внутреннего класса и попытаюсь изменить значение для каждого из полей, мне это удастся. Поэтому я вижу, что нет смысла в модификаторах доступа для вышеуказанных полей. Есть?
Отредактировано: Главный вопрос: Какие модификаторы доступа следует выбирать для членов частного внутреннего класса? Внутренний класс может не только реализовать интерфейс. Я могу создать в нем сложную структуру с логикой.