На локальную переменную нельзя ссылаться из статического контекста локального класса.JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 На локальную переменную нельзя ссылаться из статического контекста локального класса.

Сообщение Anonymous »

Я понимаю, что статический метод не может получить доступ к переменной экземпляра.
Но почему статический метод локального класса не может получить доступ к локальной переменной включающего блока?

Код: Выделить всё

public class Sequence {
public static void main(String... args) {
String message = "Bye bye";
class EnglishGoodbye {
public static void sayGoodbye() {
System.out.println(message); // Error: non-static variable message
// cannot be referenced in static context
}
}
EnglishGoodbye.sayGoodbye();
}
}

Код взят из раздела «Почему статический локальный класс не разрешен в методе?»
Когда статический метод вызывается из экземпляра локального класса class, код компилируется и может получить доступ к локальной переменной.
При вызове статического метода без экземпляра локального класса доступ к локальной переменной невозможен.

Подробнее здесь: https://stackoverflow.com/questions/791 ... ocal-class
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»