Что такое переменная-член?Является ли переменная-член и переменная экземпляра одинаковыми? - PullRequest
0 голосов
/ 11 мая 2018

Что такое переменная-член ? Являются ли переменная-член и переменная экземпляра одинаковыми? Переменная экземпляра - это переменная , объявленная в классе и доступная по всему коду , верно?

Ответы [ 2 ]

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

Отсутствует упоминание «переменной-члена» в JLS .

«Переменная экземпляра» определена в § 4.12.3 :

переменная экземпляра - это поле, объявленное в объявлении класса без использования ключевого слова static.

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

Переменные экземпляра и переменные класса обычно называются переменными-членами.

См. Объявление переменных-членов :

Существует несколько типов переменных:

  • Переменные-члены в классе - они называются полями.
  • Переменные в методе или блоке кода - они называются локальными переменными.
  • Переменные в объявлениях методов - они называются параметрами.

И Переменные :

Язык программирования Javaопределяет следующие виды переменных:

  • Переменные экземпляра (нестатические поля) Технически говоря, объекты хранят свои отдельные состояния в «нестатических полях», то есть в полях, объявленных безстатическое ключевое словоНестатические поля также известны как переменные экземпляра, поскольку их значения уникальны для каждого экземпляра класса (другими словами, для каждого объекта);currentSpeed ​​одного велосипеда не зависит от currentSpeed ​​другого.

  • Переменные класса (статические поля) Переменная класса - это любое поле, объявленное с модификатором static;это говорит компилятору, что существует ровно одна копия этой переменной, независимо от того, сколько раз был создан экземпляр класса.Поле, определяющее количество передач для конкретного вида велосипеда, может быть помечено как статическое, поскольку концептуально одинаковое количество передач будет применяться ко всем экземплярам.Код статический int numGears = 6;создаст такое статическое поле.Кроме того, можно добавить ключевое слово final, чтобы указать, что число передач никогда не изменится.

  • Локальные переменные Подобно тому, как объект сохраняет свое состояние в полях, метод часто сохраняет еговременное состояние в локальных переменных.Синтаксис объявления локальной переменной аналогичен объявлению поля (например, int count = 0;).Не существует специального ключевого слова, определяющего переменную как локальную;это определение целиком исходит из места, в котором объявлена ​​переменная - между открывающей и закрывающей скобками метода.Таким образом, локальные переменные видны только тем методам, в которых они объявлены;они не доступны из остальных классов.

  • Параметры Вы уже видели примеры параметров, как в классе Bicycle, так и в методе main класса Hello World!приложение.Напомним, что подпись для метода main является общедоступной static void main (String [] args).Здесь переменная args является параметром этого метода.Важно помнить, что параметры всегда классифицируются как «переменные», а не «поля».Это относится и к другим конструкциям, принимающим параметры (таким как конструкторы и обработчики исключений), о которых вы узнаете позже в этом руководстве.

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