Разница между переменной экземпляра и локальной переменной
Опубликовано: 4 Сентября, 2022
Переменная — это имя, присвоенное ячейке памяти. Это основная единица хранения в программе.
- Значение, сохраненное в переменной, может быть изменено во время выполнения программы.
- Переменная — это всего лишь имя, присвоенное ячейке памяти. Все операции выполняются над переменными эффектами ячейки памяти.
- В Java все переменные должны быть объявлены перед использованием.
Переменная экземпляра: эти переменные объявляются внутри класса, но вне метода, конструктора или блока и всегда получают значение по умолчанию.
- Эти переменные обычно создаются при создании объекта и уничтожаются при уничтожении объекта.
- Мы можем использовать спецификатор доступа, например, переменную, и если спецификатор доступа не указан, то используется спецификатор доступа по умолчанию.
- Каждый объект будет иметь свою собственную копию переменных экземпляра.
Пример:
class Taxes { int count; // Count is an Instance variable /*...*/ }
Локальная переменная: эти переменные объявляются внутри метода, но не получают никакого значения по умолчанию.
- Обычно они создаются при входе в метод или конструктор и уничтожаются после выхода из блока или при возврате вызова из метода.
- Его область обычно ограничена методом, и его область действия начинается со строки, в которой они объявлены. Их область действия обычно остается там до тех пор, пока не придет закрывающая фигурная скобка метода.
- Инициализация локальной переменной обязательна.
Пример:
int area() { int length = 10; // Local variable int breadth = 5; // Local variable int rectarea = length*breadth; // Local variable return rectarea; }
Табличная разница между переменной экземпляра и локальной переменной:
Переменная экземпляра | Локальная переменная |
---|---|
Они определены в классе, но вне тела методов. | Они определяются как тип переменной, объявленной в программных блоках или подпрограммах. |
Эти переменные создаются при создании экземпляра объекта и доступны для всех конструкторов, методов или блоков в классе. | Эти переменные создаются при запуске блока, метода или конструктора, и переменная будет уничтожена после выхода из блока, метода или конструктора. |
Эти переменные уничтожаются при уничтожении объекта. | Эти переменные уничтожаются при выходе из конструктора или метода. |
Доступ к нему можно получить на протяжении всего урока. | Его доступ ограничен методом, в котором он объявлен. |
Они привыкли резервировать память для данных, которые нужны классу, а также на время жизни объекта. | Они используются для уменьшения зависимости между компонентами. Т.е. снижается сложность кода. |
Этим переменным присваивается значение по умолчанию, если оно не задано кодом. | Эти переменные не всегда имеют какое-то значение, поэтому должно быть значение, присвоенное кодом. |
Не обязательно инициализировать переменные экземпляра перед использованием. | Перед использованием важно инициализировать локальные переменные. |
Он включает в себя модификаторы доступа, такие как частный, общедоступный, защищенный и т. д. | Он не включает никаких модификаторов доступа, таких как private, public, protected и т. д. |