Junior — Middle
Lehet-e korlátozni egy alosztályt abban, hogy megváltoztassa a bázissal osztály metódusainak megvalósításait?
sobes.tech MI
Válasz az MI-től
Java-ban a final kulcsszóval korlátozhatjuk a metódusok felülírásának lehetőségét az alosztályokban. Ha egy metódus a bázis osztályban final-ként van deklarálva, az alosztály nem módosíthatja annak implementációját.
Példa:
class Base {
public final void doSomething() {
System.out.println("Végleges metódus implementációja");
}
}
class Subclass extends Base {
// Fordítási hiba: nem lehet felülírni a végleges metódust
// public void doSomething() {
// System.out.println("Felülírás próbálkozása");
// }
}
Így a final védi a metódust attól, hogy felülírják az örökölt osztályokban.