Junior
Java dasturlash tilida 'final' kalit so'zi nima anglatadi?
sobes.tech AI
AIdan javob
Java'da final kalit so'zi o'zgaruvchi, metod yoki sinf o'zgartirilmasligini ko'rsatish uchun ishlatiladi.
-
finalo'zgaruvchi:finaldeb belgilangan o'zgaruvchining qiymati faqat bir marta tayinlanishi mumkin. Tayyorlangandan so'ng, uni o'zgartirib bo'lmaydi.- Asosiy ma'lumot turlari uchun,
finalo'zgaruvchining qiymati konstantadir. - Referens turlari uchun,
finalsharti ob'ektga bo'lgan referensni o'zgartirish mumkin emas, lekin ob'ektning holati (uning maydonlari) o'zgartirilishi mumkin (agar ob'ektning maydonlari hamfinalbo'lmasa).
final int MAX_VALUE = 100; // final primitiv o'zgaruvchi final List<String> names = new ArrayList<>(); // final referens o'zgaruvchi names.add("Alice"); // OK // names = new ArrayList<>(); // Kompilatsiya xatosi - referensni qayta tayinlash mumkin emas -
finalmetod:finaldeb belgilangan metod, subklasslarda qayta yozib bo'lmaydi.- Bu, meros olish ketma-ketligida xatti-harakatni o'zgartirishni oldini olish uchun ishlatiladi.
class Parent { final void display() { System.out.println("Bu final metod."); } } class Child extends Parent { // @Override void display() { } // Kompilatsiya xatosi - final metodni qayta yozib bo'lmaydi } -
finalsinf:finaldeb belgilangan sinf, meros oluvchi (subklass) bo'lishi mumkin emas.- Bu, sinfning o'zgarmasligini ta'minlash va uning funksionalligini kengaytirishni oldini olish uchun ishlatiladi.
final class ImmutableClass { private final int value; public ImmutableClass(int value) { this.value = value; } public int getValue() { return value; } } // class TryingToExtend extends ImmutableClass { } // Kompilatsiya xatosi - final sinfdan meros olinmaydi