💻 آخرین فرصت یادگیری برنامه‌نویسی با آفر ویژه قبل از افزایش قیمت در ۱۵ آذر ماه (🎁 به همراه یک هدیه ارزشمند )
۰ ثانیه
۰ دقیقه
۰ ساعت
۱ farshid barati
بلاک استاتیک
جامعه جاوا (اندروید) ایجاد شده در ۱۳ آذر ۱۳۹۸

سلام وقت بخیر ..

استاد امکانش هست یک مثال واضح‌تر در مورد کاربرد بلاک استاتیک بزنین ...مثلا چه کارهای تو قسمت jvmنیازه که میشه داخل این بلاک نوشت....

ممنون

سلام وقت بخیر، به طور خیلی ساده و خلاصه این بلاک فقط یک بار در طول حیات اجرای نرم افزار اجرا می‌شه، پس بنابراین هر رفتاری که نیاز به این خاصیت داره، می‌تونه مثالی از کاربرد static block باشه.

برای اینکه کاربردهای واقعی این بلاک از مباحث پیشرفته هستند مثالی نزدم، اما

مثال ۱

فرض کنید که ما یک کلاس Singleton داریم که از نوع eager initialization هست، مشکلی که این design pattern داره اینه که وقتی قرار instance جدیدی از کلاس ساخنه بشه، خطایی اتفاق بیوقته، برای اینکه هنگام ساختن instance بتوان خطای احتمالی رو مدیریت کنیم، فرآیند init کردن instance رو داخل بلاک static می‌نویسیم و داخل بلاک try catch قرار می‌دیم.

 

مثال ۲

فرض کنید که یک class variable داریم، که می‌خواهیم وقتی برای اولین بار آن را init می‌کنیم، یک سری تنظیمات اولیه اعمال شود، می‌توانیم این تنظیمات رو داخل این بلاک بنویسیم و calss variable را initilize کنیم

سعید شاهینی ۱۳ آذر ۱۳۹۸، ۱۹:۲۴