Wie erstelle ich eine Schnittstelle, die beim Überschreiben kann verschiedene Typen haben? Manchmal möchte ich, dass die Methode ein Element vom Typ 'HtmlPage' akzeptiert, und manchmal möchte ich, dass es den Typ 'Dokument' annimmt. Später könnten diese zu noch mehr Typen wechseln.Java Create-Methode in Interface und ändern Sie den Parametertyp
Beispiel:
public interface MyInterface{
void checkThis() throws Exception;
Output Show(Input input, String url) throws Exception;
}
public class HeadLevel extends MyInterface<HtmlPage,String>{
Output scrape(HtmlPage page, String url) throws Exception;
}
public class MyClass implements HeadLevel<Output>{
@Override
public void checkThis(Document page, String url){
}
}
Ich denke so etwas wie dies sollte erreichbar sein. Ich habe versucht, mich in meinen Suchanfragen mit den Keywords 'Overload' und 'Override' umzusehen, kann aber nichts finden, was so funktioniert. Wie Sie sehen können, hat 'MyClass' die Methode überschrieben und die verwendeten Parameter definiert.
Jede Hilfe, wie dies zu tun ist oder warum Sie dies nicht tun können, wird sehr geschätzt. Mit mehr Informationen, die ich dafür bekomme, werde ich diesen Beitrag aktualisieren und es besser machen. Ich weiß gerade nicht, wie ich das nennen soll.
Zu allererst Ihre Syntax lesen, ist falsch. Zweitens kann die Klasse erweitert werden Eine andere Klasse und nicht die Schnittstelle und die Klasse implementieren die Schnittstelle tatsächlich. – Unknown
Es ist nur eine allgemeine Ähnlichkeit zu meinem Projekt. – L1ghtk3ira
Dies ist technisch nicht möglich, da 'checkThis (Document, String)' 'checkThis()' nicht überschreiben kann. Wenn Sie uns jedoch mitteilen, was Sie damit erreichen möchten, können wir möglicherweise eine Problemumgehung finden. – Zircon