首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java相关 >

IO的简单有关问题

2012-01-28 
IO的简单问题BufferedReader in new BufferedReader(new FileReader(foo.in))Reader in new Buffered

IO的简单问题
BufferedReader in= new BufferedReader(new FileReader("foo.in"));
 Reader in= new BufferedReader(new FileReader("foo.in"));
这两种写法是不是都可以,包装类是不是不需要考虑参数类型,例如BufferedReader的构造函数时BufferedReader(Reader in) ,传递进来的参数应该是Reader类型的,而new的却是FileReader的,麻烦哪位能详细说一下,谢谢

[解决办法]
你没发现FileReader是继承了InputStreamReader,InputStreamReader继承了Reader。
[解决办法]
传Reader的任何子类都可以。
[解决办法]
BufferedReader构造函数的参数是Reader,所以参数是任何Reader的子类都可以
同时BufferedReader也是Reader的子类,所以Reader in把子类转给父类没问题
[解决办法]
后一个没什么实用价值。
使用 BufferedReader 主要为了使用 readLine 方法。
声明为 Reader 没什么意义。

热点排行