+1 امتیاز
قبل در برنامه نویسی توسط (922 امتیاز)

بلاک های استاتیک در جاوا که بصورت زیر نوشته می شوند چه کاربردی دارند:

static {
    //code
}

1 پاسخ

+3 امتیاز
قبل توسط (1.4هزار امتیاز)
انتخاب شده قبل توسط
 
بهترین پاسخ

بلاک استاتیک، تنها یک بار در موقع load شدن کلاس (با اولین access به کلاس، کلاس load می‌شود) فراخوانی می‌شود. در درون این بلاک، معمولا initialization های پیچیده‌تر (که در یک خط نمی‌تواند انجام شود) انجام می‌شود. مثال:

public class DateUtils
{
	private static Map<String,String> months = new HashMap<String,String>();
	static
	{
		months.put("01","farvardin"); 
		months.put("02","ordibehesht"); 
		// ...
	}
}

هرچند کار بالا رو می‌توان با یک تابع private و استاتیک نیز انجام داد:

public class DateUtils
{
	private static Map<String,String> months = initializeMonths();
	
	private static  Map<String,String> initializeMonths()
	{
		Map<String,String> months = new HashMap<String,String>();
		months.put("01","farvardin"); 
		months.put("02","ordibehesht"); 
		// ...
		return months;
	}
}

سوالات مشابه

+1 امتیاز
1 پاسخ 507 بازدید
+1 امتیاز
1 پاسخ 497 بازدید
سوال شده 6 سال قبل در برنامه نویسی توسط یوری (426 امتیاز)
+1 امتیاز
1 پاسخ 1.0هزار بازدید
+2 امتیاز
1 پاسخ 914 بازدید
+1 امتیاز
1 پاسخ 1.4هزار بازدید
0 امتیاز
1 پاسخ 767 بازدید
+1 امتیاز
1 پاسخ 336 بازدید
...