Junior
Čo znamená kľúčové slovo 'final' v jazyku Java?
sobes.tech AI
Odpoveď od AI
Kľúčové slovo final v Jave sa používa na označenie, že premenná, metóda alebo trieda nemôžu byť zmenené.
-
Premenná
final:- Premenná deklarovaná ako
finalmôže byť priradená iba raz. Po priradení už nemôže byť zmenená. - Pre primitívne dátové typy je hodnota
finalpremennej konštantou. - Pre referenčné typy znamená
final, že odkaz na objekt nemôže byť zmenený, ale stav objektu (jeho polia) môže byť zmenený (ak polia objektu nie súfinal).
final int MAX_VALUE = 100; // final primitívna premenná final List<String> names = new ArrayList<>(); // final referenčná premenná names.add("Alice"); // OK // names = new ArrayList<>(); // Chyba kompilácie - nemôže sa prepisovať odkaz - Premenná deklarovaná ako
-
finalmetóda:- Metóda deklarovaná ako
finalnemôže byť prepísaná v podtriedach. - Toto sa používa na zabránenie nechcených zmien v správaní v hierarchii dedičnosti.
class Parent { final void display() { System.out.println("Toto je finálna metóda."); } } class Child extends Parent { // @Override void display() { } // Chyba kompilácie - nemôže sa prepísať finálna metóda } - Metóda deklarovaná ako
-
finaltrieda:- Trieda deklarovaná ako
finalnemôže mať podtriedy (nemôže byť zdedená). - Toto sa používa na zabezpečenie nemennosti triedy a zabránenie rozšírenia jej funkčnosti.
final class ImmutableClass { private final int value; public ImmutableClass(int value) { this.value = value; } public int getValue() { return value; } } // class TryingToExtend extends ImmutableClass { } // Chyba kompilácie - nemôže sa dediť od finalnej triedy - Trieda deklarovaná ako