Статичний на Java:
Статичний - це модифікатор без доступу. Статичне ключове слово належить до класу, ніж екземпляр класу. можна використовувати для приєднання змінної чи методу до класу.
Статичне ключове слово МОЖЕ бути використане для:
Метод
Змінна
Клас вкладений в інший клас
Блок ініціалізації
НЕ можна використовувати з:
Клас (не вкладений)
Конструктор
Інтерфейси
Метод Локальний внутрішній клас (Різниця потім вкладений клас)
Методи внутрішнього класу
Змінні інстанції
Локальні змінні
Приклад:
Уявіть наступний приклад, який містить змінну екземпляра з назвою count, яка збільшується в конструкторі:
package pkg;
class StaticExample {
int count = 0;// will get memory when instance is created
StaticExample() {
count++;
System.out.println(count);
}
public static void main(String args[]) {
StaticExample c1 = new StaticExample();
StaticExample c2 = new StaticExample();
StaticExample c3 = new StaticExample();
}
}
Вихід:
1 1 1
Оскільки змінна екземпляра отримує пам'ять під час створення об'єкта, кожен об'єкт матиме копію змінної екземпляра, якщо вона зростає, вона не відображатиметься для інших об'єктів.
Тепер, якщо ми змінимо кількість змінних екземплярів на статичну, програма дасть різні результати:
package pkg;
class StaticExample {
static int count = 0;// will get memory when instance is created
StaticExample() {
count++;
System.out.println(count);
}
public static void main(String args[]) {
StaticExample c1 = new StaticExample();
StaticExample c2 = new StaticExample();
StaticExample c3 = new StaticExample();
}
}
Вихід:
1 2 3
У цьому випадку статична змінна отримає пам'ять лише один раз, якщо будь-який об'єкт змінить значення статичної змінної, він збереже своє значення.
Статичний з фіналом:
Глобальна змінна, яка оголошена остаточною та статичною, залишається незмінною для всього виконання. Тому що Статичні члени зберігаються в пам'яті класу і вони завантажуються лише один раз у всьому виконанні. Вони загальні для всіх об'єктів класу. Якщо ви оголошуєте статичні змінні як кінцеві, будь-який з об'єктів не може змінити своє значення як остаточне. Тому змінні, оголошені як кінцеві та статичні, іноді називають константами. Усі поля інтерфейсів називаються константами, оскільки вони є остаточними та статичними за замовчуванням.
Ресурс зображення: остаточний статичний