Sobes.tech
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.