Mic*_*mer 5 java abstract-class urlconnection object httpurlconnection
我在教程中看到了以下代码:
URLConnection connection = new URL("http://example.com").openConnection();
Run Code Online (Sandbox Code Playgroud)
怎么可能?API说URLConnection(以及Subclass HttpURLConnection)是一个抽象类.但是抽象类无法实例化.我还看到了其他教程(例如)这段代码:
URL url = new URL( "http://java-tutor.com/index.html" );
URLConnection con = url.openConnection();
Run Code Online (Sandbox Code Playgroud)
为什么没有'新'?对我来说这很奇怪,所以有人可以向我解释.
openConnection();
Run Code Online (Sandbox Code Playgroud)
创建类的实现实例URLConnection(sun.net.www.protocol.http.HttpURLConnection @Credit 转到 Sotirios)。
基于javadoc:
如果对于 URL 的协议(例如 HTTP 或 JAR),存在一个公共的、专用的 URLConnection 子类,属于以下包之一或其子包之一:java.lang、java.io、java.util、java.net、返回的连接将属于该子类。例如,对于 HTTP,将返回 HttpURLConnection,对于 JAR,将返回 JarURLConnection。