Junior
Java'da 'static' kalit so'zi nima anglatadi?
sobes.tech AI
AIdan javob
Java'da static elementlarni sinfga tegishli bo‘lib, aniq bir obyekt nusxasiga emas, balki sinfga tegishli bo‘lishini e’lon qilish uchun ishlatiladi.
Kalit so‘z quyidagilarga qo‘llanilishi mumkin:
- O‘zgaruvchilar (maydonlar):
- Bir nusxa o‘zgaruvchining nusxasi butun sinf uchun mavjud bo‘lib, yaratilgan nusxalar sonidan qat’i nazar.
- Uni sinf nomi orqali (masalan,
ClassName.staticVariable) kirish mumkin.
// Statik o‘zgaruvchi misoli public class MyMath { public static final double PI = 3.14159; // Kirish: MyMath.PI } - Metodlar:
- Metod sinfga tegishli, aniq obyektga emas.
- Uni sinf nomi orqali chaqirish mumkin (masalan,
ClassName.staticMethod()). - Sinfning statik bo‘lmagan a’zolariga (o‘zgaruvchilar yoki metodlar) kirish imkoniyati yo‘q, chunki ular nusxa bilan bog‘langan.
// Statik metod misoli public class Calculator { public static int add(int a, int b) { return a + b; } // Chaqiriq: Calculator.add(5, 3) } - Initsializatsiya bloklari:
- JVMga sinf yuklanganda bir marta bajariladi.
- Statik maydonlarni initsializatsiya qilish yoki sinf bilan bog‘liq boshqa harakatlarni bajarish uchun ishlatiladi.
// Statik blok misoli public class DataInitializer { static { // Sinf yuklanganda bajariladigan kod System.out.println("DataInitializer sinfi yuklandi."); } } - Ichki sinflar (inner/nested classes):
- Statik ichki sinf oddiy yuqori darajali sinf kabi harakat qiladi, faqat u boshqa sinf ichida joylashgan.
- Uning tashqi sinf nusxasini yaratmasdan unga kirish mumkin.
- Faqat tashqi sinfning statik a’zolariga kirish imkoniyatiga ega.
// Statik ichki sinf misoli public class OuterClass { static class StaticInnerClass { // Statik ichki sinfning maydonlari va metodlari } } // Kirish: OuterClass.StaticInnerClass inner = new OuterClass.StaticInnerClass();
static dan foydalanish utilitar sinflar yaratishda, umumiy ma’lumotlarni saqlashda va sinf darajasida holatni boshqarishda yordam beradi.