Java: как получить из вложенного класса доступ к полю внешнего?

class Test {
	private String outerString = "КО КО КО";
	class innerTest {
		Test.this.outerString = "ПОК ПОК ПОК";
	}
}


Как получить из вложенного класса доступ к полю внешнего?
  • Вопрос задан
  • 369 просмотров
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Java
Седой и строгий
Вы пытаетесь выполнить присваивание на уровне определения класса, что трактуется компилятором, как попытка объявить поле Test.this.outerString класса innerTest, что естественно невозможно. А внутри любого метода проблем с доступом у вас не возникнет
class innerTest {
    void someMethod() {
        Test.this.outerString = "ПОК ПОК ПОК";
        // или даже проще
        outerString = "ПОК ПОК ПОК";
    }
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы