— Salom, Amigo! Risha senga yangi va juda qiziqarli mavzu haqida gapirib berdi deb eshitdim?!
— Ha, Kim.
— Mening mavzuim ham kam qiziqarli emas. Senga classlarni xotiraga yuklash haqida aytmoqchiman.
Java-dagi klasslar - bu diskdagi fayllar, ular bayt kodini o'z ichiga oladi - kompilyatsiya qilingan Java kod.
— Ha, eslayman.
— Java-mashina ularni zarurat bo'lmasa yuklamaydi. Kodda qachondir classga murojaat qilinadigan bo'lsa, Java-mashina uni yuklanganligini tekshiradi. Va agar yo'q bo'lsa, unda uni yuklaydi va ishga tushiradi.
Classning ishga tushurilishi - bu uning barcha statik o'zgaruvchilariga qiymatlarni tayinlash va barcha statik bloklarni chaqirish.
— Bu ob'ektning konstruktorini chaqirishga o'xshaydi. Statik blok nima?
— Agar ob'ekt o'zgaruvchilarini ishga tushirish uchun murakkab kodni ishlatish kerak bo'lsa (masalan, fayldan nimanidir yuklab olish), biz buni konstruktor orqali amalga oshirishimiz mumkin. Statik o'zgaruvchilar bu imkoniyatdan mahrum. Lekin bunga ehtiyoj qolganligi sababli, klasslarga statik blok yoki bloklar qo'shish mumkin, ular mohiyatiga ko'ra statik konstruktorlarni chaqirishga teng.
Mana bu qanday ko'rinishga ega:
| Kod | Aslida nima bo'ladi |
|---|---|
|
|
Bu konstruktorni chaqirishda nima sodir bo'lishiga juda o'xshaydi. Men hatto uni mavjud bo'lmagan statik konstruktor ko'rinishida yozdim.
— Ha, hammasini tushundim.
— A'lo darajada.
GO TO FULL VERSION