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) ենթակլասներում:
    • Սա օգտագործվում է կանխելու համար ցանկալի olmayan փոփոխությունները ժառանգության շղթայում:
    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` դասը չի կարող ժառանգվել