Exercice Fait dans chapitre 2, la section Interface
package chap2;
public class Owl implements Fly{
public int getWingSpan() {
land(); /*l'appel de la méthode land ne nécessite pas un objet
puisqu'elle est appelée à partir d'une méthode d'objet*/
return 1;
}
/*redéfinition de la méthode land() qui est définie dans
l'interface Fly. Remarquez que le mot "default" n'existe pas dans la
méthode redéfinie. */
public void land() {
System.out.println("Owl");
}
public static void main(String []q) {
Owl k=new Owl();
/*l'utilisation d'un objet est obligatoire pour appeler les méthodes
d'instance getWinSpan et land puisque la méthode main est static*/
System.out.println(k.getWingSpan());
k.land();
System.out.println(Fly.calculateSpeed(1.5f,1));
/*la méthode static calculateSpeed, n'existe pas dans la classe Owl.
Il faut utiliser le nom de l'interface Fly où elle existe.
=> une méthode d'interface qui n'existe pas dans la classe en cours
d'utilisation doit être appelée en utilisant le nom de sa classe ou
son interface où elle existe. la Syntaxe d'appel:
NomClasseOuInterface.nomMethodeStatic();*/
}
}