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

110
21 января 2020, 18:20

Бывает нужно, чтобы переменная была в единственном экземпляре. Как, например, переменная System.out (статическая переменная out класса System). Не пойму как понять в единственном экземпляре?

Answer 1

Это означает, что в памяти хранится единственный экземпляр переменной, которым пользуются все объекты. Например, незачем хранить для каждого объекта переменную Math.PI, поскольку она для всех одинакова.

Допустим у нас есть класс Circle и в этом классе есть переменная radius и метод вычисления площади (который использует число пи).

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

Другой пример: у нас есть класс Student, все студенты (объекты класса Student) учатся в одном вузе, поэтому значения переменной university у них идентичны, так что имеет смысл сделать поле university статичным, чтобы не хранить одно и то же в памяти в нескольких экземплярах.

Пример из немного другой области: в семье в почтовом адресе "город, улица, квартира" статичны (у всех одинаковы), а имя (и иногда фамилия) адресата - нет.

READ ALSO
Java dependencies. The following modules must have the same JDK assigned because of cyclic dependencies

Java dependencies. The following modules must have the same JDK assigned because of cyclic dependencies

Речь идет о java проекте с использованием maven и POM dependencies (только начал с ними знакомиться)

294
Вставка java.time.LocalDate в MySQL с использованием JDBC

Вставка java.time.LocalDate в MySQL с использованием JDBC

Мне нужно сохранить в БД локальную дату(не указывая часовой пояс)В моей программе на java эта дата храниться в java

128
переменная экземпляра == объект?

переменная экземпляра == объект?

test1 - это переменная экземпляра? Не могу понять что такое переменная экземпляра :(

148