Три типа переменных:
локальные переменные;
переменные экземпляра;
статические переменные или переменные класса.
Локальные переменные в Java
Локальные переменные объявляются в методах,
конструкторах или блоках.
Локальные переменные создаются, когда метод,
конструктор или блок запускается и уничтожаются после того, как завершиться
метод, конструктор или блок.
Модификаторы
доступа нельзя использовать для локальных переменных.
Они являются видимыми только в пределах объявленного
метода, конструктора или блока.
Локальные переменные реализуются на уровне стека
внутри.
В Java не существует для локальных переменных значения
по умолчанию, так что они должны быть объявлены и начальное значение должны
быть присвоено перед первым использованием.
Переменные экземпляра
Переменные
экземпляра объявляются в классе, но за пределами метода, конструктора или
какого-либо блока.
Когда
для объекта в стеке выделяется пространство, создается слот для каждого
значения переменной экземпляра.
В
Java переменные экземпляра создаются тогда,
когда объект создан с помощью ключевого слова «new» и
разрушаются тогда, когда объект уничтожается.
Переменные
содержат значения, которые должны ссылаться более чем на один метод,
конструктор или блок, или на основные части состояния объекта, которые должны
присутствовать на протяжении всего класса.
Переменные
экземпляра могут быть объявлен на уровне класса, до или после использования.
Модификаторы
доступа могут быть предоставлены для переменных экземпляра.
Переменные
экземпляра в Java являются видимыми для всех методов, конструкторов и блоков в
классе. Как правило рекомендуется сделать их private (уровень доступа). Однако
можно сделать их видимыми для подклассов этих переменных с помощью
модификаторов доступа.
Переменные
экземпляра имеют значения по умолчанию. Для чисел по умолчанию равно 0, для
логических – false, для ссылок на объект - null. Значения могут быть присвоены
при объявлении или в конструкторе.
Переменные
экземпляра в Java могут быть
доступны непосредственно путем вызова имени переменной внутри класса. Однако в
статических методах и различных класса (когда к переменным экземпляра дана
доступность) должны быть вызваны используя полное имя – ObjectReference.VariableName.
Переменные класса или статические
переменные в Java
Переменные класса, также известные в Java как
статические переменные, которые объявляются со статическим ключевым слово в
классе, но за пределами метода, конструктора или блока.
Там будет только одна копия каждой статической
переменной в классе, независимо от того, сколько объектов создано из него.
Статические переменные или переменные класса в Java
используются редко, кроме когда объявляются как константы. Константы -
переменные, которые объявлены как public/private, final и static. Константы
никогда не меняются от первоначального значения.
В Java статические переменные создаются при запуске
программы и уничтожаются, когда выполнение программы остановится.
Видимость похожа на переменную экземпляра. Однако
большинство статических переменных объявляются как public, поскольку они должны
быть доступны для пользователей класса.
Значения по умолчанию такое же, как и у переменных
экземпляра. Для чисел по умолчанию равно 0, для данных типа Boolean - false; и
для ссылок на объект - null. Значения могут быть присвоены при объявлении или в
конструкторе. Кроме того, они могут быть присвоены в специальных блоках
статического инициализатора.
Статические переменные могут быть доступны посредством
вызова с именем класса ClassName.VariableName.
При объявлении переменных класса как public, static,
final, имена находятся в верхнем регистре. Если статические переменные такими
не являются, синтаксис такой же, как у переменных экземпляра и локальных.
Немає коментарів:
Дописати коментар