Texnoman

Assalomu alaykum! Siz Axborot texnologiyalari sohasining o'zbek tilidagi bloggerlar portaliga tashrif buyurdingiz! Loyihamizning asosiy maqsadi haqida bu yerda o'qishingiz mumkin.

Kirish A'zo bo'lish


Farzandlarimiz bizdan ko'ra kuchli, dono, bilimli va albatta baxtli bo'lishlari shart.

- Islom Karimov


15-dars - Javada static kalit so’zi (keyword).

Static kalit so'zidan asosan xotirani boshqarishda foydalaniladi. Biz static kalit so'zidan foydalanib o'zgaruvchilar, funskiyalar, blok(block)lar va nested klasslar yarata olamiz.

Javada static o'zgaruvchilar

Agar siz o'zgaruvchini static deb e'lon qilgan bo'lsangiz unda bu o'zgaruvchi satatic o'zgaruvchi bo'ladi.

Static o'zgaruvchilar hamma obyektlar uchun umumiy bo'ladi. Misol uchun firma nomi barcha hodimlar uchun umumiy, universitet nomi barcha talabalar uchun umumiy bo'ladi.

Static o'zgaruvchilar xotiradan bir marta joy oladi.

Misol uchun:

class Student{
     
    int id;     
    String name;     
    String college="TIU";     
}

Student nomli klass yaratdik va unda id, name, va collage o'zgaruvchilari bor. Tasavur qiling universitetda 500 ta talaba o'qiydi har bir talaba uchun dastur xotiradan joy ajratadi, id va name takronlammas bo'ladi va bu yaxshi holat lekin 500 talaba uchun universitet nomi bir xil va har safar universitet nomi uchun xotiradan joy ajratish yaxshi emas. Bu holatda universitet nomi uchun bir marotaba xotiradan foydalanish uchun satatic kalit so'zidan foydalanamiz.

Misol:

class Student8{
     
    int id;     
    String name;     
    static String college ="TIU";     
     
    Student8(int r,String n){     
    id = r;     
    name = n;     
    }     
    void display (){System.out.println(id+" "+name+" "+college);}     
    public static void main(String args[]){     
    Student8 s1 = new Student8(111,"Zafar");     
    Student8 s2 = new Student8(222,"Jalol");     
    s1.display();     
    s2.display();     
    }     
}

Ekranda :

111 Zafar TIU

222 Jalol TIU

Yana bitta misol ko'rsak.

Bu misolda (instance) o'zgaruvchisi bor uni counter deb nomlaymiz konstruktor yaratib o'zgaruvchini qiymatini oshirib natijani ko'ramiz.

class Counter{     
    int count=0;     
    Counter(){     
        count++;     
        System.out.println(count);     
    }          
    public static void main(String args[]){       
        Counter c1=new Counter();     
        Counter c2=new Counter();     
        Counter c3=new Counter();       
    }    
}

Ekranda:

1 1 1

Natija chiqadi, ko'rib turganimizdek, har safar yangi obyekt olganimizda counter o'zgaruvchisiga xotiradan yangidan joy ajratyapti. End shu o'zgaruvchini static deb e'lon qilib natijani ko'ramiz:

class Counter2{

static int count=0;
Counter2(){
    count++;
    System.out.println(count);
    }
 
public static void main(String args[]){
    Counter2 c1=new Counter2();
    Counter2 c2=new Counter2();
    Counter2 c3=new Counter2();
    }
}

Ekranda:

1 2 3

ko'rib turganingizdek har safar yangi obyekt olganimizda counter xotiradan yangidan joy olmayapti.

static funksiyalar

Agar funksiya static kalit so'zi bilan bo'lsa, bu funksiya static funksiya deyiladi. Static funksiyalar static bo'lgan va static bo'lmagan funksiyalarda chaqirilishi mumkin. Lekin static funksiyada faqat statik funksiya chaqiriladi, static bo'lmagan funksiyalar obyekt olish yo'li bilan chaqiriladi.

Static bo'lgan funksiyani static funksiyada chaqirishga misol

class StaticDemo
{
    public static void copyArg(String str1, String str2)
       {
        //copies argument 2 to arg1
        str2 = str1;
        System.out.println("First String arg is: "+str1);
        System.out.println("Second String arg is: "+str2);
       }
    public static void main(String agrs[])
       {     
        copyArg("XYZ", "ABC");
       }   
 }

Ekranda:

First String arg is: XYZ

Second String arg is: XYZ

Static bo'lmagan funksiyalarni static funksiyada chaqirishga misol

class Test{
   public void display()
    {
        System.out.println("I'm non-static method");
    }
    public static void main(String agrs[])
    {
        Test obj=new Test();
        obj.display();
    }
}

Ekranda:
I'm non-static method

Manba:


Gayratjon

Muallif haqida

Rayimjonov G'ayratjon


Blogdagi so‘nggi maqolalar:


Birinchi bo‘ling!

Iltimos, fikr bildirish uchun saytga kiring yoki ro‘yxatdan o‘ting!