Доступ к статическим переменным Java - PullRequest
0 голосов
/ 30 мая 2018

Может кто-нибудь объяснить, почему левый код можно компилировать, а второй нет?Я думаю, что в обоих случаях я пытаюсь получить доступ к одной и той же переменной "число", но я, вероятно, ошибаюсь ... Спасибо за объяснение.

Снимок экрана

1 Ответ

0 голосов
/ 30 мая 2018

Давайте сначала разберемся, что такое статический метод и как он работает, затем мы можем легко заключить ответ на этот вопрос.

Когда метод объявлен как статический, мы должны помнить о следующих моментах:

Статический метод принадлежит классу, а не объекту класса.Статический метод может быть вызван без необходимости создания экземпляра класса.Статический метод может обращаться к статическому члену данных и может изменять его значение.

Теперь это ключевое слово в java является ссылочной переменной, которая ссылается на текущий объект.Кроме того, ключевое слово super в java - это ссылочная переменная, которая используется для ссылки на непосредственный родительский объект класса.

Итак, мы можем сказать, что это и супер оба ключевых слова являются ссылочной переменной, которая ссылается на некоторый объект.Другими словами, оба эти ключевых слова принадлежат экземпляру класса.

Принимая во внимание, что статический член принадлежит классу, а не экземпляру класса.И поэтому статический член не может получить доступ к этому и супер ключевому слову в Java.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...