Бывает нужно, чтобы переменная была в единственном экземпляре. Как, например, переменная System.out
(статическая переменная out
класса System
).
Не пойму как понять в единственном экземпляре?
Это означает, что в памяти хранится единственный экземпляр переменной, которым пользуются все объекты. Например, незачем хранить для каждого объекта переменную Math.PI
, поскольку она для всех одинакова.
Допустим у нас есть класс Circle
и в этом классе есть переменная radius
и метод вычисления площади (который использует число пи).
Когда мы создаем объекты класса Circle
, для каждого из них в памяти выделяется место. Поэтому в памяти хранится столько переменных radius
, сколько у нас объектов (у каждого круга разный радиус). Но число пи одинаково для всех, поэтому его достаточно хранить один раз и не расходовать на нее память. Поэтому переменная Math.PI
статична.
Другой пример: у нас есть класс Student, все студенты (объекты класса Student) учатся в одном вузе, поэтому значения переменной university
у них идентичны, так что имеет смысл сделать поле university статичным, чтобы не хранить одно и то же в памяти в нескольких экземплярах.
Пример из немного другой области: в семье в почтовом адресе "город, улица, квартира" статичны (у всех одинаковы), а имя (и иногда фамилия) адресата - нет.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Речь идет о java проекте с использованием maven и POM dependencies (только начал с ними знакомиться)
Мне нужно сохранить в БД локальную дату(не указывая часовой пояс)В моей программе на java эта дата храниться в java
test1 - это переменная экземпляра? Не могу понять что такое переменная экземпляра :(