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

Локальная переменная в Java обычно используется в методе, конструкторе или блоке и имеет только локальную область. Таким образом, вы можете использовать переменную только в пределах области блока. Другие методы в классе даже не знают, что переменная существует.

Пример

 
if(x > 100) {
    String testLocal = "some value";
}

В приведенном выше случае вы не можете использовать testLocal вне этого блока if.

Что такое переменная экземпляра?

Переменная экземпляра - это переменная, привязанная к самому объекту. Переменные экземпляра объявляются в классе, но вне метода. И каждый экземпляр этого класса (объекта) имеет свою собственную копию этой переменной. Изменения, внесенные в переменную, не отражены в других экземплярах этого класса. Переменные экземпляра доступны любому методу, связанному с экземпляром объекта. Как практический вопрос, это обычно дает его область действия в пределах некоторого экземпляра объекта класса. Когда объект распределяется в куче, в нем есть слот для каждого значения переменной экземпляра. Поэтому переменная экземпляра создается, когда объект создается и уничтожается при уничтожении объекта.

Пример

 
class TestClass{
     public String StudentName;
     public int age;
}

Правила для переменной экземпляра

  1. Переменные экземпляра могут использовать любой из четырех уровней доступа
  2. Они могут быть отмечены как final
  3. Они могут быть помечены как переходные
  4. Они не могут быть помечены как абстрактные
  5. Они не могут быть помечены как синхронизированные
  6. Они не могут быть помечены как родные
  7. Они не могут быть помечены static

Что такое переменная класса

Переменные класса объявляются с ключевым словом static, но вне метода. Таким образом, они также известны как статические переменные-члены, и только одна копия этой переменной делится со всеми экземплярами этого класса. Если изменения будут внесены в эту переменную, все другие экземпляры будут видеть эффект от изменений.

Пример

 
public class Product {
    public static int Barcode;
}

Переменные класса хранятся в статической памяти. Редко использовать статические переменные, отличные от объявленных окончательных и используемые как государственные, так и частные.

Статическое ключевое слово в Java

Static - это модификатор без доступа. Это означает, что что-то (поле, метод, блок или вложенный класс) связано с типом, а не с каким-либо конкретным экземпляром типа. Подробнее о ..... Статическое ключевое слово в Java

Разница между статическими и нестационарными методами в Java

Статический метод принадлежит классу, а нестатический метод принадлежит объекту класса. Статические методы полезны, если у вас есть только один экземпляр, в котором вы собираетесь использовать этот метод, и вам не нужны несколько копий (объектов). Нестатические методы используются, если вы собираетесь использовать свой метод для создания нескольких копий. Подробнее о .... статических и нестатические методы в Java

Источник: http://net-informations.com/Java/cJava/local.htm

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Adblock
detector