Яка різниця між статичним і нестатичним блоком у Java?

Статичний блок виконується під час завантаження класу, оскільки він може містити лише статичні дані, пов’язані з класом. Отже, немає ніякої залежності від створення об’єкта. Але нестатичний блок (блок екземпляра) виконується під час створення об’єкта. Оскільки він може мати нестатичні члени, які зв’язуються з об’єктом. 14 травня 2020 р

Статичний метод у Java належить до класу і схожий на блакитний принт або оригінальний одяг. Нестатичний метод у Java належить до об’єкта класу і схожий на паперову викрійку, зроблену з блакитного принта або оригінального плаття.

Статичні блоки можна використовувати для ініціалізації статичних змінних або для виклику статичного методу. Однак блок екземпляра виконується кожного разу, коли створюється екземпляр класу, і його можна використовувати для ініціалізації елементів даних екземпляра. Крім того, повні зразки коду для цієї статті можна знайти на GitHub.

Статичний клас в основному такий самий, як нестатичний клас, але є одна відмінність: статичний клас не може бути створений. Іншими словами, ви не можете використовувати оператор new для створення змінної типу класу.

Статичні методи можуть отримати доступ до змінних класу без використання об’єкта класу. Він може отримати доступ до нестатичних методів і нестатичних змінних за допомогою об’єктів. До статичних методів можна отримати прямий доступ у статичних і нестатичних методах. Статичний блок здебільшого використовується для зміни значень за замовчуванням статичних змінних.

Статичний блок виконується під час завантаження класу, оскільки він може містити лише статичні дані, пов’язані з класом. Отже, немає ніякої залежності від створення об’єкта. Але нестатичний блок (блок екземпляра) виконується під час створення об’єкта. Оскільки він може мати нестатичні члени, які зв’язуються з об’єктом.