Переменные в Java предоставляют нам возможность хранения именованных данных, которыми программа может манипулировать.

Типы переменных в Java
Каждая переменная в Java имеет определённый тип, который определяет размер и расположение памяти переменной;   диапазон значений, которые могут храниться в памяти; набор допустимых операций которые можно применить.

Перед тем как использовать переменную, её необходимо объявить. Далее представлен синтаксис объявления переменной:

Здесь data type обозначает один из типов переменных в Java. variable – является именем переменной, для объявления более чем одной переменной, можно использовать список разделённый запятыми.

Следующий пример показывает объявление и инициализацию переменных:

В этом материале будут рассмотрены 3 типа переменных которые есть в Java:

  • Локальные переменные
  • Переменные экземпляра
  • Переменные класса, или статические переменные.

Локальные переменные

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

Пример:

В методе dogAge() объявлена и инициализирована числом 0, локальная переменная. Переменная доступна только в пределах этого метода.

После запуска, мы увидим следующий результат:

В следующем примере, локальная переменная не была проинициализирована, поэтому во время компиляции будет выдано сообщение об ошибки.

Во время компиляции мы увидим следующею ошибку.

Переменные экземпляра

  • Переменные экземпляра – объявляются в классе и доступны любому методу класса, так и снаружи класса.
  • Когда в куче выделяется память для создания объекта, то для каждой переменной экземпляра так же выделяется память.
  • Переменные экземпляра создаются в момент создания объекта при помощи ключевого слово “new”, а уничтожаются вместе с методом.
  • Переменные экземпляра обычно содержат значения на которые ссылаются более одного метода класса.
  • Переменным экземпляра могут быть назначены модификаторы доступа.
  • Переменные экземпляра предназначенные для использования внутри класса – обычно получают модификатор доступа private. В случаи необходимости передачи значения в подклассы, можно присвоить модификатор доступа protected.
  • Переменные экземпляра имеют значение по умолчанию:
    • Для числовых типов = 0
    • Для Boolean = false
    • Для объектов = null

    Значение присваиваться во время объявления или в конструкторе.

  • Переменные экземпляра могут быть вызваны в методах непосредственно путём указания имени переменной в пределах класса. Для вызова статических переменных снаружи класса, надо использовать полное имя класса и переменной, например: ObjectReference.VariableName.

Пример:

Результат выполнения:

Переменные класса/статические переменные

  • Переменные класса известны как статические переменные и объявляются при помощи ключевого слова “static ”, внутри класса, но не в методах и конструкторах.
  • Значение переменной может быть только одно, не смотря на то сколько было создано объектов.
  • Статические переменные часто используются в качестве констант. Константная переменная объявляется как final и static с модификатором доступа или public или private. Константным переменным значение присваивается при объявлении и не изменятся на протяжение выполнения программы.
  • Статические переменные создаются в момент запуска программы и уничтожаются только при завершение работы программы.
  • Область видимости аналогична переменным экземпляра.
  •  Переменные экземпляра имеют значение по умолчанию:
    • Для числовых типов = 0
    • Для Boolean = false
    • Для объектов = null
  • Для вызова статической переменной за пределами класса, необходимо использовать полное имя класса и имя переменной. Например: ObjectReference.VariableName.
  • При объявлении переменных класса как public, static, final, имена записываются в верхнем регистре. Если статические переменные такими не являются, синтаксис такой же, как у переменных экземпляра и локальных.

Результат выполнения:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

16 + 13 =