статичні блоки виконуються, коли клас завантажується в java. блок екземплярів виконується лише тоді, коли екземпляр класу створюється, а не викликається, коли клас завантажується в java.
Статичний блок виконується під час завантаження класу, оскільки він може містити лише статичні дані, пов’язані з класом. Отже, немає ніякої залежності від створення об’єкта. Але нестатичний блок (блок екземпляра) виконується під час створення об’єкта. Оскільки він може мати нестатичні члени, які зв’язуються з об’єктом.
Статичні та нестатичні змінні — це два різні типи змінних у Java. Статичні змінні є спільними для всіх об’єктів класу та мають один екземпляр, тоді як нестатичні змінні є унікальними для кожного об’єкта та мають різні значення для різних об’єктів..
Статичний блок, або статичний блок ініціалізації, є код, який запускається один раз кожного разу, коли клас завантажується в пам'ять. Це корисно для налаштування статичних змінних або журналювання, які потім застосовуватимуться до кожного екземпляра класу.
Різниця між статичним класом і нестатичним класом полягає в тому статичний клас не може бути створений або успадкований і що всі члени класу є статичними за своєю природою. Щоб оголосити клас статичним, ви повинні позначити його ключовим словом static в декларації класу.
Різниця така Статичний метод може отримати доступ до статичної змінної та належить до класу, тоді як нестатичний метод і змінні можуть отримати доступ лише до об’єкта класу. Друга основна відмінність полягає в тому, що статичну змінну не можна перевизначити.