J'ai une interface comestible, une classe Location et une classe Strawberry qui implémente Edible. Je peux compiler et courir sans aucun problème. Je pensais cependant qu'une classe implémentant une interface devait inclure toutes les méthodes d'interface. Ma question est, pourquoi je ne reçois pas d'erreur avec ce code, étant donné que Strawberry implémente Edible mais n'inclut pas une méthode getLocation? Si je change le type de retour de getLocation à une primitive, j'obtiens l'erreur que je recherche. Le renvoi d'un type personnalisé fait-il une différence? Si oui, pourquoi?Interface Java - Type de retour personnalisé?
public interface Edible {
Location getLocation();
}
public class Location {
private String name;
public Location(String n){
name = n;
}
}
public class Strawberry implements Edible{
int cals;
Location location;
public Strawberry(int c, Location l){
cals = c;
location = l;
}
}
Ce code génère en effet une erreur de compilation. Etes-vous sûr d'avoir collé le code ** exact ** ici? – Mureinik