Или это даже возможно? В то время я пишу REST client
. В java есть класс URLConnection
который расширен HttpURLConnection
и HttpsURLConnection
. Я хотел бы объявить тип (HttpURLConnection or HttpsURLConnection)
и (HttpURLConnection or HttpsURLConnection)
этот объект URLConnection
на основе логического значения этого объявленного типа. Fe:
Class<? extends URLConnection> theClass = _SSL ?
HttpsURLConnection.class : HttpURLConnection.class;
тогда
((theClass) HttpConnection).setRequestMethod("POST");
или что-то подобное.
Заранее спасибо!
Я думаю, вам нужно всего лишь HttpsURLConnection
java.net.HttpURLConnection
потому что ваш HttpsURLConnection
и HttpURLConnection
расширяют этот абстрактный класс.
Вы можете сделать что-то подобное.
if(_SSL) {
((HttpsURLConnection) HttpConnection).setRequestMethod("POST");
} else {
((HttpURLConnection) HttpConnection).setRequestMethod("POST");
}
Как прокомментировал szidijani, нет необходимости в объекте Class
.
Class
или объект для выполнения операций HTTP?HttpsURLConnection
является подклассомHttpURLConnection
и вы вызываете метод базового класса.