Sobes.tech
Junior

რა ნიშნავს საკვანძო სიტყვა 'final' Java პროგრამირების ენაში?

sobes.tech AI

პასუხი AI-სგან

Java-да final ачкыч слова өзгөрүлмө, метод же класс өзгөрүлбөй турганын көрсөтүү үчүн колдонулат:

  1. final өзгөрмө:

    • final деп жарыяланган өзгөрмөнүн мааниси бир гана жолу коюлушу мүмкүн. Коёлгондон кийин ал өзгөрбөйт:
    • Примитивдүү түрлөр үчүн final өзгөрмөнүн мааниси константа болуп саналат:
    • Байланыштуу түрлөр үчүн final өзгөрмө объектке шилтемени өзгөртпөй турганын билдирет, бирок объекттин абалы (анын талаалары) өзгөрүшү мүмкүн (эгер гана талаалар final деп жарыяланбаса):
    final int MAX_VALUE = 100; // final примитивдик өзгөрмө
    
    final List<String> names = new ArrayList<>(); // final шилтемелүү өзгөрмө
    names.add("Alice"); // ОК
    // names = new ArrayList<>(); // Компиляциялык каталар - шилтемени кайра белгилөө мүмкүн эмес
    
  2. final метод:

    • final деп жарыяланган метод кайра аныкталбайт (overridden) подклассларда:
    • Бул өзгөртүүнү алдын алуу үчүн колдонулат:
    class Parent {
        final void display() {
            System.out.println("This is a final method.");
        }
    }
    
    class Child extends Parent {
        // @Override void display() { } // Компиляциялык каталар - `final` метод кайра аныкталбайт
    }
    
  3. final класс:

    • final деп жарыяланган класс подкласс болбойт (мураскор болбойт):
    • Бул класс өзгөртүлбөй турганын камсыз кылуу жана анын функционалдуулугун кеңейтүүнү алдын алуу үчүн колдонулат:
    final class ImmutableClass {
        private final int value;
    
        public ImmutableClass(int value) {
            this.value = value;
        }
    
        public int getValue() {
            return value;
        }
    }
    
    // class TryingToExtend extends ImmutableClass { } // Компиляциялык каталар - `final` класс мураска берилбейт