+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 پاسخ 404 بازدید
+1 امتیاز
1 پاسخ 383 بازدید
سوال شده 5 سال قبل در برنامه نویسی توسط یوری (426 امتیاز)
+1 امتیاز
1 پاسخ 881 بازدید
+2 امتیاز
1 پاسخ 821 بازدید
+1 امتیاز
1 پاسخ 1.2هزار بازدید
0 امتیاز
1 پاسخ 649 بازدید
+1 امتیاز
1 پاسخ 287 بازدید
...