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 :
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 univrsitet nomi bir xil va har safar universitet nomi uchun xotiradan joy ajratish yaxshi emas. Bu holatda univrsitet nomi uchun bir marotaba xotiradan foydalanish uchun satatic kalit so’zidan foydalanamiz.
Misol:
- class Student8{
-
- int id;
-
- String name;
-
-
-
-
- id = r;
-
- name = n;
-
- }
-
-
-
-
- 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.
Ekranda:
1 1 1
Natija chiqadi, ko’rib turganimzdek 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;
Ekranda:
1 2 3
ko’rib turganizdek har safar yangi obyekt olganimizda counter xotiradan yangitdan 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
Ekranda:
First String arg is: XYZ
Second String arg is: XYZ
Static bo’lmagan funksiyalarni static funksiyada chaqirishga misol
Ekranda:
I'm non-static method
G'ayratjon Rayimjonovning so'nngi maqolalari (hammasini ko'rish)
- Javada Stringlar - 14/06/2017
- Javada Map - 21/03/2017
- Javada Set - 26/12/2016
raxmat