Java Language Déclaration et implémentation d'une interface


Exemple

Déclaration d'une interface utilisant le mot-clé interface :

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

Annulation de l'annotation

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

Cela oblige le compilateur à vérifier que nous remplaçons et empêche le programme de définir une nouvelle méthode ou de fausser la signature de la méthode.

Les interfaces sont implémentées à l'aide du mot clé implements .

public class Cat implements Animal {

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

public class Dog implements Animal {

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

Dans l'exemple, les classes Cat et Dog doivent définir la méthode getSound() car les méthodes d'une interface sont intrinsèquement abstraites (à l'exception des méthodes par défaut).

Utiliser les interfaces

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

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