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

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


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

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

Войти через центр авторизации
Похожие вопросы
25 апр. 2024, в 12:20
15000 руб./за проект
25 апр. 2024, в 12:08
300 руб./за проект
25 апр. 2024, в 11:49
25000 руб./за проект