为什么BufferedReader能封装一个InputStreamReader的对象
看API文档的时候BufferedReader的构造方法写的是 封装的都是Reader类型的啊??
BufferedReader(Reader in) 
          创建一个使用默认大小输入缓冲区的缓冲字符输入流。 
BufferedReader(Reader in, int sz) 
          创建一个使用指定大小输入缓冲区的缓冲字符输入流。 import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;public class Test { public static void main(String[] args) throws Exception {
URL a = new URL("http://www.sina.com");
BufferedReader b = new BufferedReader(new InputStreamReader(a.openStream()));//这里
String s = b.readLine();
while(s!=null){
System.out.println(s);
s=b.readLine();

}
}}

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【peterbob】截止到2008-07-08 20:21:57的历史汇总数据(不包括此帖):
    发帖的总数量:4                        发帖的总分数:60                       每贴平均分数:15                       
    回帖的总数量:4                        得分贴总数量:0                        回帖的得分率:0%                       
    结贴的总数量:4                        结贴的总分数:60                       
    无满意结贴数:1                        无满意结贴分:20                       
    未结的帖子数:0                        未结的总分数:0                        
    结贴的百分比:100.00%               结分的百分比:100.00%                  
    无满意结贴率:25.00 %               无满意结分率:33.33 %                  
    敬礼!
      

  2.   

    难道 InputStreamReader 就不是 Reader 了吗??呵呵!仔细想想。
      

  3.   

    因为InputStreamReader 是Reader的子类.
    所以是可以这样用的.
      

  4.   

    InputStreamReader 是Reader类的子类