【发布时间】:2020-11-04 09:58:36
【问题描述】:
我正在查找以前由离开公司的同事编写的示例代码。但我无法理解用抽象类名定义方法的作用是什么
这是导入语句
import java.net.HttpURLConnection;
还有一个方法写成
private static HttpURLConnection pullData(url, redirects) throws IOException
try
{
String method = "GET";
HttpURLConnection connection = null;
connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod(method);
connection.setInstanceFollowRedirects(false);
int statusCode = connection.getResponseCode();
if (statusCode == 301) {
if (redirects == 0) {
throw new IOException("Stop!");
}
connection.disconnect();
return pullData(url, redirects - 1);
}
catch (IOException ioerror) {
if (connection != null) {
connection.disconnect();
}
throw ioerror;
}
return connection;
}
现在我正在阅读 https://docs.oracle.com/javase/8/docs/api/java/net/HttpURLConnection.html 上的 HttpURLConnection 并注意到它是一个抽象类。但是不明白用那个类名定义一个方法会达到什么目的。它应该是一种数据类型吗?
private static HttpURLConnection <methodname> 基本上是做什么的?
【问题讨论】:
-
这意味着该方法将返回一个对象,该对象是
HttpURLConnection类的一个实例。不清楚是什么让您感到困惑。 -
感谢@LEQADA - “返回一个对象,它是 HttpURLConnection 类的一个实例” - 这是我试图理解的。通常人们会通过实例化一个类来创建一个对象,但在这种情况下它会返回一个对象
-
所有正在发生的事情是“其他人”实际上正在创建对象 - 很可能是
url.openConnection()。