0
I Funktionalität HttpsURLConnection hinzufügen möchten, damit ich so diese Klasse wie zu erweitern versucht:Erweiterung HttpsURLConnection
public abstract class HTTPClient extends HttpsURLConnection
Wenn ich diese Klasse zu verwenden bin versucht:
HTTPClient con = (HTTPClient) url.openConnection();
ich folgendes erhalten Fehler:
Exception in thread "main" java.lang.ClassCastException: sun.net.www.protocol.https.HttpsURLConnectionImpl cannot be cast to HTTPClient
Was ist das Problem hier und wie kann es behoben werden?
Danke.
Könnten Sie das Teil einfügen, wo Sie die '' url'' Variable definieren? – Matt
Warum glauben Sie, dass 'url.openConnection()' etwas über Ihre Unterklasse von 'HttpsURLConnection' weiß? Es gibt eine Implementierung von 'URLConnection' zurück, die sich in einem anderen Zweig der Vererbungshierarchie befindet und in keiner Beziehung zu Ihrer Unterklasse steht. Damit dies funktionieren kann, müsste "URL" mit einer Factory angepasst werden, um Verbindungen zu erstellen, und das ist nicht Teil der API. –
HttpURLConnection gehört zur gleichen Hierarchie wie URLConnection - zu implizieren, dass der Benutzer hätte wissen müssen, dass das System eine Implementierung zu ihm werfen würde, ist absurd – gpasch