+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 پاسخ 403 بازدید
+1 امتیاز
1 پاسخ 382 بازدید
سوال شده 5 سال قبل در برنامه نویسی توسط یوری (426 امتیاز)
+1 امتیاز
1 پاسخ 879 بازدید
+2 امتیاز
1 پاسخ 820 بازدید
+1 امتیاز
1 پاسخ 1.2هزار بازدید
0 امتیاز
1 پاسخ 647 بازدید
+1 امتیاز
1 پاسخ 286 بازدید
...