Mavzu: ichma-ich joylashgan sinflar
Statik bo'lmagan sinfda statik o'rnatilgan sinfni e'lon qilish va ishlatish
Download 99.85 Kb.
|
ICHMA-ICH JOYLASHGAN SINFLAR.
3. Statik bo'lmagan sinfda statik o'rnatilgan sinfni e'lon qilish va ishlatish.
Statik bo'lmagan sinfda statik sinf e'lon qilinishi mumkin (static kalit so'zi bilan). Bu shuni anglatadiki, ushbu sinfning statik sinfi noyob umumiy resursdir. Statik sinf a'zolariga to'g'ridan-to'g'ri statik sinf nomi orqali kirish mumkin, undan oldin nuqta qo'yiladi va undan keyin tashqi sinf(lar) nomi(lar)i qo'yiladi. Misol. Outer sinfi e'lon qilinadi, u o'rnatilgan statik (static) Inner sinfining e’lon qilishini o'z ichiga oladi. Ichki sinf public statik ichki o'zgaruvchini e'lon qiladi. Outer sinfining matni quyidagicha: // Outer sinfi statik emas public class Outer { // Outer sinfining ichki o'zgaruvchilari public int d; static public int sd; // statik ichki sinf Inner. public static class Inner { // statik sinfda faqat statik o'zgaruvchilar e'lon qilinishi mumkin. public static int sd; // statik ichki sinf o'zgaruvchilari Inner. } } Statik ichki sinfdan foydalanish shunday bo'lishi mumkin: // Outer.Inner statik sinfining statik o'zgaruvchisiga kirish Outer.Inner.sd = 45; // Outer sinfining ob'ektini (namunasi) yaratish. Outer o = new Outer(); o.d = 30; // ob'ekt orqali sinf namunasi o'zgaruvchilariga kirish imkoniyati mavjud. Outer.sd = 102; // Ou_ter statik sinf o'zgaruvchisiga kirish. // Statik sinf ob'ektini yaratib bo`lmaydi. //Outer.Inner i = new Outer.Inner(); - Bu xato! Statik sinfda statik bo'lmagan ichki sinfni e'lon qilish mumkinmi?. Ha mumkin. Statik sinf statik bo'lmagan ichki o'rnatilgan sinflarni e'lon qilishi mumkin. Biroq, statik bo'lmagan o'zgaruvchilar va usullarni statik sinfda e'lon qilib bo'lmaydi. Mavzuda statik o'zgaruvchilar, usullar, sinflardan foydalanish haqida batafsil ma'lumot berilgan: Statik sinflar, usullar, o'zgaruvchilar. Statik konstruktorlar. static kalit so'zi. Masalan. Outer statik sinfi e'lon qilinsin, unda statik bo'lmagan Inner sinfining amalga oshirilishi mavjud. // Outer sinfi statikdir public static class Outer { // Outer sinfining ichki o'zgaruvchilari // statik sinfda faqat statik misollar e'lon qilinishi mumkin // public int d; - xato! static public int sd; // statik bo'lmagan ichki sinf Inner statik sinfda e'lon qilinishi mumkin public class Inner { public int d; // statik bo'lmagan o'zgaruvchi public static int sd; // Inner statik ichki sinf o'zgaruvchisi. } } Outer va Outer.Inner sinflaridan foydalanish, masalan: // statik sinfda statik bo'lmagan sinfdan foydalanish // Outer.Inner sinfining sd statik o'zgaruvchisiga kirish Outer.Inner.sd = 230; // Outer sinfining sd statik o'zgaruvchisiga kirish Outer.sd = 132; // Statik sinfning namunasini (obyektini) yaratib bo`lmaydi // Outer o = new Outer(); // xato, chunki Outer statik sinfdir // ichki o'rnatilgan sinfni Outer.Inner yaratish Outer.Inner i = new Outer.Inner(); і.d = 323; // Outer.Inner sinfining statik bo'lmagan d o'zgaruvchisiga kirish Download 99.85 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling