|
Maydonni oshkor(explicit-явный) initsializatiya qilish
|
bet | 7/8 | Sana | 25.01.2024 | Hajmi | 371 Kb. | | #145787 |
Bog'liq Java dasturlash tili - class A {
- …
- private static int nextId = 1;
- …
- static int assignld() {
- int r = nextId;
- nextld++;
- return r;
- }
- …
- private String fs = “”;
- …
- private int id = assignldO;
- …
- }
- Agar barcha konstruktorlar maydonga bir xil qiymat berishi kerak bo’lsa bu usul juda qulay. Bunday qiymat berish konstruktor chaqirilguncha bajariladi.
- Beriladigan qiymat konstanta qiymat bo’lishi shart emas.
- public Ishchi(String fio, double maosh, int yil,
- int oy, int kun) {
- this.id = Ishchi.getNextId();
- this.fio = fio;
- this.maosh = maosh;
- GregorianCalendar calendar
- = new GregorianCalendar(yil, oy - 1, kun);
- qabulKuni = calendar.getTime();
- }
Boshqa konstruktorni chaqirish va initsializatsiya bloki - Agar konstruktorning 1- operatori this(…) ko’rinishida bo’lsa parametrlar soni va tipiga qarab boshqa konstruktor chaqiriladi
- Bu juda muhim imkoniyat, umumiy bajariladigan boshlang’ch kod bir joyda turadi
- (Ishchi va IshchiTest sinflari misolida)
- -----------------------------------------------------------
- Sinf ichidagi nomsiz blok initsialisatsiya bloki deyiladi. Initsializatsiya bloki statik ham bo’lishi mumkin. (Odatda initsializatsiya bloki ishlatilmaydi)
- class A {
- …
- {
- count = 0;
- }
- …
- private int count;
- …
- }
Ob’ekt yasash vaqtidagi bajarilish ketmaketligi - 1 Maydonlar initsialisatsiya qilinadi (berilgan qiymat yoki odatdagi qiymat bilan
- 2. Initsializatsiya bloki ishlaydi (agar bo’lsa)
- 3. Agar chaqirilgan konstruktorning 1- satri this(…) bo’lsa mos konstruktor chqiriladi
- 4. Chaqirilgan konstruktorning tanasi bajariladi
|
| |