Je suis en train de mettre en œuvre l'interface comme ceci:Pourquoi mes méthodes d'interface ne peuvent pas être surchargées?
public interface Human{
void talk();
}
public class Ame implements Human{
public static void talk(){
System.out.println("Speak English");
}
}
public class Chin implements Human{
public static void talk(){
System.out.println("Speak Chinese");
}
}
public class test {
public static void main(String[] args){
Chin c = new Chin();
c.talk();
Ame a = new Ame();
a.talk();
}
}
Mais il montre des erreurs:
et Chin Amé PARLER() ne peut pas mettre en œuvre parler humain().
Les méthodes sont substituées en tant que static.
Se il vous plaît dites-moi pourquoi cela s'est avéré et comment corriger cette erreur.
Pourquoi essayez-vous d'utiliser des méthodes statiques? – John3136
Vous ne pouvez pas avoir une méthode statique et une méthode non statique de même nom et signature. Et une méthode statique n'implémente pas l'interface. – Thilo
Je suis simplement curieux de savoir pourquoi Human talk() ne peut pas être remplacé comme static talk(). – AngusMurphy