Разница между переменной экземпляра и локальной переменной

Опубликовано: 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 и т. д.