解决方案 »
- JAVA文件名的问题
- 网页 右下角那个 “我的新鲜事” XXX人回复了你的帖子 的 小页面 怎么删掉啊? 烦死了!!!!
- 问基类能不能调用基类没有定义 但是派生类定义的方法 !
- 关于snmp: westhawk.co.uk公司的java snmp开发包,接受Trap初始化异常:Socket
- 怎样在保存文件是,自动添加自己定义的扩展名
- 简单的问题,请帮忙,在线等
- 关于JavaScript中的escape()和unescape()函数
- reset()方法到底是什么意思??
- 怎样在java环境下开发有关Excel的程序
- 送分了 javascrip菜鸟问题
- 在myeclipse中可以运行,但是在eclipse中报错
- 关于URLConnection类的,视频终于学完了累呀。
我重写了一下测试小例子,代码如下:
public class URLDemo {
public static void main(String[] args) throws Exception { URL url=new URL("http://www.baidu.com");
System.out.println(url.openConnection().getClass());
}}控制台打印为:class sun.net.www.protocol.http.HttpURLConnection
查阅JDK文档没这个类啊?怎么回事?求教!
我重写了一下测试小例子,代码如下:
public class URLDemo {
public static void main(String[] args) throws Exception { URL url=new URL("http://www.baidu.com");
System.out.println(url.openConnection().getClass());
}}控制台打印为:class sun.net.www.protocol.http.HttpURLConnection
查阅JDK文档没这个类啊?怎么回事?求教!
这个是具体的实现类,不是规范里的,标准的JDK没列出来吧
public final class URL implements java.io.Serializable {
/**
* The URLStreamHandler for this URL.
*/
transient URLStreamHandler handler;
public URLConnection openConnection() throws java.io.IOException {
return handler.openConnection(this);
}
HttpConnection HttpsConnection JarURLConnection) 你也可以自己写一些应用协议的实现类
至于你觉得说不通 我没有觉得哪里说不通 你要搞清楚继承的目的 父类并非一定是抽象类 子类重写父类也不代表子类的功能比父类更具体完善
我都说了这个是sun提供的实现 包括你自己写的应用协议的URLConnection 一般在sun.net.www.protocol下 你连获取的实现类是哪个都搞不清楚 还说什么要害
我都说了这个是sun提供的实现 包括你自己写的应用协议的URLConnection 一般在sun.net.www.protocol下 你连获取的实现类是哪个都搞不清楚 还说什么要害
我不会才问。我要是逻辑那么清楚,弄通透了就不会来提问了。返回的不是HttpURLConnection类型吗?但是这个类的disconnect方法根据JDK文档是个抽象方法啊,怎么能直接调用呢。恳求保持耐心,帮我答疑解惑!跪谢。。
是sun.net.www.protocol.http.HttpURLConnection!
............
public class URLDemo { public static void main(String[] args) throws IOException { URL url=new URL("http://www.baidu.com");
Class<?> clazz=url.openConnection().getClass();
System.out.println(clazz);
Class<?> superClazz=clazz.getSuperclass();
System.out.println(superClazz);
}}控制台输出:class sun.net.www.protocol.http.HttpURLConnection
class java.net.HttpURLConnection这样就很明白了。url.openConnection()方法返回的确实是HttpURLConnection类型,但是不是JDK里的java.net.HttpURLConnection,而是sun.net.www.protocol.http.HttpURLConnection,在通过反射拿到这个类的父类,发现它的父类就是java.net.HttpURLConnection,所以它实现了父类的抽象方法disconnect()方法,所以可以直接调用。