+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 پاسخ 558 بازدید
+1 امتیاز
1 پاسخ 548 بازدید
سوال شده 6 سال قبل در برنامه نویسی توسط یوری (426 امتیاز)
+1 امتیاز
1 پاسخ 1.1هزار بازدید
+2 امتیاز
1 پاسخ 956 بازدید
+1 امتیاز
1 پاسخ 1.4هزار بازدید
0 امتیاز
1 پاسخ 866 بازدید
+1 امتیاز
1 پاسخ 383 بازدید
...