Ich versuche Schnittstelle wie folgt umzusetzen:Warum können meine Schnittstellenmethoden nicht überschrieben werden?
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();
}
}
Aber es zeigt Fehler:
Ame und Chin sprechen() kann nicht implementieren Menschen talk().
Methoden werden als statisch überschrieben.
Bitte sagen Sie mir, warum dies behoben und wie Sie diesen Fehler beheben können.
) Warum versuchen Sie, statische Methoden zu verwenden? – John3136
Sie können keine statische und eine nicht statische Methode mit demselben Namen und derselben Signatur verwenden. Und eine statische Methode implementiert die Schnittstelle nicht. – Thilo
Ich bin nur neugierig, warum Human Talk() nicht als statisches Gespräch() überschrieben werden kann. – AngusMurphy