Junior
Co znamená klíčové slovo 'final' v jazyce Java?
sobes.tech AI
Odpověď od AI
Klíčové slovo final v jazyce Java se používá k označení, že proměnná, metoda nebo třída nem mohou být změněny.
-
Proměnná
final:- Proměnná deklarovaná jako
finalmůže být přiřazena pouze jednou. Po přiřazení již nemůže být změněna. - U primitivních datových typů je hodnota proměnné
finalkonstantou. - U referenčních typů znamená
final, že odkaz na objekt nemůže být změněn, ale stav objektu (jeho pole) může být změněn (pokud pole samotného objektu nejsoufinal).
final int MAX_VALUE = 100; // final primitivní proměnná final List<String> names = new ArrayList<>(); // final referenční proměnná names.add("Alice"); // OK // names = new ArrayList<>(); // Chyba kompilace - nelze přepsat odkaz - Proměnná deklarovaná jako
-
finalmetoda:- Metoda deklarovaná jako
finalnemůže být přepsána v podtřídách. - To se používá k zabránění nechtěných změn chování v hierarchii dědičnosti.
class Parent { final void display() { System.out.println("Toto je finální metoda."); } } class Child extends Parent { // @Override void display() { } // Chyba kompilace - nelze přepsat finální metodu } - Metoda deklarovaná jako
-
finaltřída:- Třída deklarovaná jako
finalnemůže mít podtřídy (nemůže být děděna). - To se používá k zajištění neměnnosti třídy a zabránění rozšiřování 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 kompilace - nelze dědit z finální třídy - Třída deklarovaná jako