Статичне ключове слово (будь то змінна чи блок) належить до класу. Отже, коли клас викликається, ці змінні або блоки виконуються. Тож більша частина ініціалізації буде здійснена за допомогою статичного ключового слова. Оскільки він належить самому класу, клас може безпосередньо отримати до нього доступ, не створюючи екземпляра класу.
Візьмемо приклад. Існує клас взуття, в якому є кілька змінних, такі як колір, розмір, марка тощо ... І тут, якщо компанія, що виробляє взуття, має лише одну марку, ми повинні ініціювати її як статичну змінну. Отже, коли викликається клас взуття та виробляються різні типи взуття (шляхом створення екземпляра класу), тоді колір і розмір будуть займати пам’ять при створенні нового взуття, але тут бренд є спільною властивістю для всього взуття, так що він займе пам'ять раз, незалежно від того, скільки взуття виготовлено.
Приклад:
class Shoe {
int size;
String colour;
static String brand = "Nike";
public Shoe(int size, String colour) {
super();
this.size = size;
this.colour = colour;
}
void displayShoe() {
System.out.printf("%-2d %-8s %s %n",size,colour, brand);
}
public static void main(String args[]) {
Shoe s1 = new Shoe(7, "Blue");
Shoe s2 = new Shoe(8, "White");
System.out.println("=================");
s1.displayShoe();
s2.displayShoe();
System.out.println("=================");
}
}