Junior
Co oznacza słowo kluczowe 'final' w języku programowania Java?
sobes.tech AI
Odpowiedź od AI
Słowo kluczowe final w Java jest używane do wskazania, że zmienna, metoda lub klasa nie mogą być zmienione.
-
Zmienna
final:- Zmienna zadeklarowana jako
finalmoże być przypisana tylko raz. Po przypisaniu nie można jej zmienić. - Dla typów danych prymitywnych, wartość zmiennej
finaljest stałą. - Dla typów referencyjnych,
finaloznacza, że odwołanie do obiektu nie może być zmienione, ale stan samego obiektu (jego pola) może być zmieniany (jeśli pola tego obiektu nie są równieżfinal).
final int MAX_VALUE = 100; // final zmienna prymitywna final List<String> names = new ArrayList<>(); // final zmienna referencyjna names.add("Alice"); // OK // names = new ArrayList<>(); // Błąd kompilacji - nie można przypisać odwołania - Zmienna zadeklarowana jako
-
Metoda
final:- Metoda zadeklarowana jako
finalnie może być nadpisana w podklasach. - Służy to do zapobiegania niepożądanym zmianom zachowania w hierarchii dziedziczenia.
class Parent { final void display() { System.out.println("To jest metoda final."); } } class Child extends Parent { // @Override void display() { } // Błąd kompilacji - nie można nadpisać metody final } - Metoda zadeklarowana jako
-
Klasa
final:- Klasa zadeklarowana jako
finalnie może mieć podklas (nie może być dziedziczona). - Służy to do zapewnienia niezmienności klasy i zapobiegania rozszerzaniu jej funkcjonalności.
final class ImmutableClass { private final int value; public ImmutableClass(int value) { this.value = value; } public int getValue() { return value; } } // class TryingToExtend extends ImmutableClass { } // Błąd kompilacji - nie można dziedziczyć po klasie final - Klasa zadeklarowana jako