جاوا امکان ساخت کلاس های تو در تو را برای برنامه نویسان مهیا کرده است. کلاس های استاتیک تو در تو ویژگی از جاوا است که در اینجا بحث خواهد شد.

در زبان جاوا کلید واژه static برای توصیف چگونگی اداره شدن اشیا در حافظه  به کار برده می شود.  که منظور از آن این است که متدها و متغیرهای کلاسی که به صورت استاتیک تعریف شده است منحصرا به کلاس استاتیک تعلق دارند.  این در حالی است کلاس های تو در تو هم در جاوا قابل تعریف است، کلاس استاتیکی که در یک کلاس تعریف شده است منحصرا و تنها به این کلاس تعلق دارد.  فرض کنید کلاس به نام Book تعریف کرده ایم. حال چند شی از این کلاس خواهیم ساخت. اگر ما یک متغیر برای شماره صفحه در این کلاس Book تعریف کنیم اما از نوع استاتیک. این متغیر هرجا یک یک نمونه شی از این کلاس ساخته شود، از همان متغیر استاتیک برای تمام شی های جدید ساخته شده استفاده خواهد کرد.  پس هنگامی که بخواهیم یک متد، متغیر یا کلاسی درون کلاسی تعریف کنیم به طوری که ساخت اشیا نمونه روی  آن اثر نگذارد باید ازکلید واژه استاتیک استفاده کنیم. حال در زیر مثالی برای نمایش کلاس های تو در توی استاتیک ارائه می کنیم. در این جا کلاس به نام HotBeverage  تعریف شده است، که این کلاس، کلاس بیرونی نامیده می شود. درون این کلاس، کلاس درونی HotTea به صورت استاتیک  تعریف شده است.

public class HotBeverage {
private static String note = “Hot Beverage”;
public static class HotTea {
public void displayOutput() {
System.out.println(“Hot Tea says: ” + note);
}
}
}

در نهایت در تابع main یک نمونه از کلاس استاتیک داخلی تعریف کرده و متد آن را فرخوانی کرده ایم.

public static void main(String[] args) {
//create instance of static class
HotBeverage.HotTea ht = new HotBeverage.HotTea();
//call the method we made
ht.displayOutput();
}

این متن ترجمه آزاد این لینک است.

برچسب‌ها , , , , , , , , , , , , , , , , , , , , ,


دیدگاهتان را بنویسید

Want to see your ugly mug by your comment? Get a free custom avatar at Gravatar.