Sobes.tech
Middle

Le interfacce possono avere metodi con o senza implementazione?

sobes.tech AI

Risposta dell'AI

Nelle interfacce classiche, ad esempio in Java fino alla versione 8, i metodi non possono avere implementazione — vengono solo dichiarati, e l'implementazione viene fornita nelle classi che implementano quell'interfaccia.

A partire da Java 8, sono stati introdotti metodi con implementazione nelle interfacce — i metodi default. Questi permettono di definire un'implementazione standard che può essere sovrascritta nelle classi.

Esempio:

public interface MyInterface {
    void abstractMethod(); // senza implementazione

    default void defaultMethod() {
        System.out.println("Implementazione di default");
    }
}

In questo modo, le interfacce possono contenere sia metodi astratti senza implementazione sia metodi con implementazione (default, static). Ciò amplia le capacità delle interfacce e semplifica l'evoluzione delle API.