Junior
Šta znači ključna reč 'final' u programskom jeziku Java?
sobes.tech АИ
Одговор од АИ
Ključna reč final u Javi se koristi za označavanje da promenljiva, metoda ili klasa ne mogu biti izmenjeni.
-
finalpromenljiva:- Promenljiva deklarisana kao
finalmože biti dodeljena samo jednom. Nakon dodele, ne može biti promenjena. - Za primitivne tipove podataka, vrednost
finalpromenljive je konstanta. - Za referentne tipove,
finalznači da referenca na objekat ne može biti promenjena, ali stanje objekta (njegova polja) može biti promenjeno (ako polja objekta nisufinal).
final int MAX_VALUE = 100; // final primitivna promenljiva final List<String> names = new ArrayList<>(); // final referentna promenljiva names.add("Alice"); // OK // names = new ArrayList<>(); // Greška pri kompajliranju - ne može se ponovo dodeliti referenca - Promenljiva deklarisana kao
-
finalmetoda:- Metoda deklarisana kao
finalne može biti prepisana u podklasama. - Ovo se koristi za sprečavanje neželjenih promena u ponašanju u hijerarhiji nasleđivanja.
class Parent { final void display() { System.out.println("Ovo je finalna metoda."); } } class Child extends Parent { // @Override void display() { } // Greška pri kompajliranju - ne može se prepisati finalna metoda } - Metoda deklarisana kao
-
finalklasa:- Klasa deklarisana kao
finalne može imati podklase (ne može biti nasledjena). - Ovo se koristi za obezbeđivanje nemodifikabilnosti klase i sprečavanje proširenja njene funkcionalnosti.
final class ImmutableClass { private final int value; public ImmutableClass(int value) { this.value = value; } public int getValue() { return value; } } // class TryingToExtend extends ImmutableClass { } // Greška pri kompajliranju - ne može se naslediti od finalne klase - Klasa deklarisana kao