Junior
Mit jelent a 'final' kulcsszó a Java programozási nyelvben?
sobes.tech MI
Válasz az MI-től
A final kulcsszó Java-ban arra szolgál, hogy jelezze, hogy egy változó, metódus vagy osztály nem módosítható.
-
finalváltozó:- Egy
final-ként deklarált változó értéke csak egyszer adható meg. Az értékadás után nem módosítható. - Az alapvető típusok esetén a
finalváltozó értéke egy konstans. - Referencia típusok esetén a
finalazt jelenti, hogy a referencia az objektumra nem módosítható, de az objektum állapota (mezői) módosíthatók (ha a mezők maguk nemfinal-ek).
final int MAX_VALUE = 100; // végleges primitív változó final List<String> names = new ArrayList<>(); // végleges referencia változó names.add("Alice"); // OK // names = new ArrayList<>(); // Fordítási hiba - nem lehet újra hozzárendelni a referenciát - Egy
-
finalmetódus:- Egy
final-ként deklarált metódus nem írható felül alosztályokban. - Ez megakadályozza a nem kívánt viselkedésváltoztatásokat az öröklődési hierarchiában.
class Parent { final void display() { System.out.println("Ez egy végleges metódus."); } } class Child extends Parent { // @Override void display() { } // Fordítási hiba - nem írható felül egy végleges metódus } - Egy
-
finalosztály:- Egy
final-ként deklarált osztály nem öröklődhet (nem lehet alosztály). - Ez biztosítja az osztály változtathatatlanságát és megakadályozza a funkcionalitás bővítését.
final class ImmutableClass { private final int value; public ImmutableClass(int value) { this.value = value; } public int getValue() { return value; } } // class TryingToExtend extends ImmutableClass { } // Fordítási hiba - nem örökölhető egy végleges osztályból - Egy