Metodi di default nelle interfacce in Java

Mattepuffo's logo
Metodi di default nelle interfacce in Java

Metodi di default nelle interfacce in Java

Da Java 8 abbiamo la possibilità di creare dei metodi di default per le interfacce.

Questo siginifica che possiamo prevedere una implementazione di default ad un metodo, senza doverne per forza fare l'override.

In questo articolo vediamo un paio di esempi; partiamo proprio dalla interface:

public interface MyInterface {

  void metodo();

  default void metodoDefault() {
    System.out.println("CIAO");
  }

}

Adesso creiamo due classi distinte che implementano quella interfaccia:

class MyClass implements MyInterface {

  @Override
  public void metodo() {
    System.out.println("METODO");
  }
}

class MyClass2 implements MyInterface {

  @Override
  public void metodo() {
    System.out.println("METODO");
  }

  @Override
  public void metodoDefault() {
    System.out.println("OVERRIDE DEFAULT");
  }

}

Come vedete in una facciamo l'override di entrambe, in una no.

Poi:

public class Main {
  public static void main(String[] args) {
    MyClass myClass = new MyClass();
    myClass.metodo();
    myClass.metodoDefault();

    MyClass2 myClass2 = new MyClass2();
    myClass2.metodo();
    myClass2.metodoDefault();
  }
}

Enjoy!


Condividi

Commentami!