استاد امکانش هست یک مثال واضحتر در مورد کاربرد بلاک استاتیک بزنین ...مثلا چه کارهای تو قسمت jvmنیازه که میشه داخل این بلاک نوشت....
ممنون
سلام وقت بخیر، به طور خیلی ساده و خلاصه این بلاک فقط یک بار در طول حیات اجرای نرم افزار اجرا میشه، پس بنابراین هر رفتاری که نیاز به این خاصیت داره، میتونه مثالی از کاربرد static block باشه.
برای اینکه کاربردهای واقعی این بلاک از مباحث پیشرفته هستند مثالی نزدم، اما
مثال ۱
فرض کنید که ما یک کلاس Singleton داریم که از نوع eager initialization هست، مشکلی که این design pattern داره اینه که وقتی قرار instance جدیدی از کلاس ساخنه بشه، خطایی اتفاق بیوقته، برای اینکه هنگام ساختن instance بتوان خطای احتمالی رو مدیریت کنیم، فرآیند init کردن instance رو داخل بلاک static مینویسیم و داخل بلاک try catch قرار میدیم.
مثال ۲
فرض کنید که یک class variable داریم، که میخواهیم وقتی برای اولین بار آن را init میکنیم، یک سری تنظیمات اولیه اعمال شود، میتوانیم این تنظیمات رو داخل این بلاک بنویسیم و calss variable را initilize کنیم