找回密码
 注册
搜索
热搜: java php web
查看: 829|回复: 32

[Java] 谈一个两行的程序

[复制链接]
发表于 2009-5-26 09:34:15 | 显示全部楼层 |阅读模式
HttpURLConnection connection = (HttpURLConnection) url.openConnection();                     

BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));

很多朋友应该都知道这两句话的含义吧!说不定也不一定哦!

我对这两句话主要有下面一些联想:

1.得到url的连接对象URLConnection,其中使用工厂方法设计模式;

2.由于你的URL是http协议的所以downcast为HttpURLConnection;HttpURLConnection是URLConnection的子类;(这是我根据他的HttpURLConnection推断的,在其构造URL时,该URL必定是Http协议的),使用了向下转型;

3.得到此连接的输入流,对输入流进行适配,适配至一个Reader对象,使用了适配器模式;

4.然后对此Reader对象使用装饰器模式进行装饰,最终得到一个带缓冲的reader,使用了IO包中最著名的模式装饰器模式;

5.接着应该就是使用readLine方法读取每一行!!

是否你还有其它联想呢?net包中的HttpURLConnection中流的读取和内容的读取是否又是观察者模式呢?!是否在URL构造器中使用的是ftp协议是否可以将URLConnection downcast为FTPURLConnection呢?!net包的基础又是什么呢?――Socket。那我们的Socket和URL的差别是什么呢?(URL主要用于资源的下载,Socket主要用于通信,是构造通信协议的基础。不信啊!打开你的rt.jar反编译net包中的其它文件你就可以明白了!)Socket又是什么呢?和本地操作系统对于的一个类!!好像还有很多很多唉!!读完net包的源代码和rt.jar包中对于的源代码你会发现,net包其实是一个包含大量工厂方法的优秀的Framework。

赶快去研究研究吧
发表于 2009-5-26 10:08:46 | 显示全部楼层
类真是一个简单又神奇的东西
回复

使用道具 举报

发表于 2009-5-26 18:32:55 | 显示全部楼层
很不错!
回复

使用道具 举报

发表于 2009-5-27 00:15:25 | 显示全部楼层
不错!
回复

使用道具 举报

发表于 2009-6-1 12:26:08 | 显示全部楼层
类真是一个简单又神奇的东西
表达方式 发表于 2009-5-26 10:08

类 == class or package?
回复

使用道具 举报

发表于 2009-7-30 08:55:13 | 显示全部楼层
回复

使用道具 举报

发表于 2009-8-10 09:52:45 | 显示全部楼层
回复

使用道具 举报

发表于 2010-4-30 10:20:11 | 显示全部楼层
不错。。
回复

使用道具 举报

发表于 2010-5-8 23:40:03 | 显示全部楼层
多谢分享, 学习学习.
回复

使用道具 举报

发表于 2010-5-8 23:40:36 | 显示全部楼层
多谢分享, 学习学习.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|软晨网(RuanChen.com)

GMT+8, 2024-9-20 13:35

Powered by Discuz! X3.5

Copyright © 2001-2023 Tencent Cloud.

快速回复 返回顶部 返回列表