Middle
Létezhetnek-e olyan interfészek, amelyeknek van vagy nincs implementációjuk?
sobes.tech MI
Válasz az MI-től
A klasszikus interfészekben, például Java-ban a 8-as verzióig, a metódusok nem tartalmazhatnak implementációt — csak deklarálva vannak, és az implementációt azok a osztályok adják meg, amelyek ezt az interfészt megvalósítják.
Java 8-tól kezdve az interfészekben megjelentek az implementációval rendelkező metódusok — az úgynevezett default metódusok. Ezek lehetővé teszik egy alapértelmezett implementáció megadását, amelyet az osztályok felülírhatnak.
Példa:
public interface MyInterface {
void abstractMethod(); // implementáció nélkül
default void defaultMethod() {
System.out.println("Alapértelmezett implementáció");
}
}
Így az interfészek tartalmazhatnak mind absztrakt metódusokat implementáció nélkül, mind pedig implementációval rendelkező metódusokat (default, static). Ez bővíti az interfészek lehetőségeit és egyszerűsíti az API-k fejlődését.