Java Language Dichiarazione e implementazione di un'interfaccia

Esempio

Dichiarazione di un'interfaccia che utilizza la parola chiave interface :

public interface Animal {
    String getSound(); // Interface methods are public by default
}

Sostituisci annotazione

@Override
public String getSound() {
    // Code goes here...
}

Questo costringe il compilatore a controllare che stiamo eseguendo l'override e impedisce al programma di definire un nuovo metodo o rovinare la firma del metodo.

Le interfacce sono implementate usando la parola chiave implements .

public class Cat implements Animal {

    @Override 
    public String getSound() {
        return "meow";
    }
}

public class Dog implements Animal {

    @Override
    public String getSound() {
        return "woof";
    }
}

Nell'esempio, le classi Cat e Dog devono definire il metodo getSound() poiché i metodi di un'interfaccia sono intrinsecamente astratti (ad eccezione dei metodi predefiniti).

Utilizzando le interfacce

Animal cat = new Cat();
Animal dog = new Dog();

System.out.println(cat.getSound()); // prints "meow"
System.out.println(dog.getSound()); // prints "woof"