IO的简单问题

不学习就落后 2011-08-26 08:29:22
BufferedReader in= new BufferedReader(new FileReader("foo.in"));
Reader in= new BufferedReader(new FileReader("foo.in"));
这两种写法是不是都可以,包装类是不是不需要考虑参数类型,例如BufferedReader的构造函数时BufferedReader(Reader in) ,传递进来的参数应该是Reader类型的,而new的却是FileReader的,麻烦哪位能详细说一下,谢谢
...全文
81 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
huntor 2011-08-26
  • 打赏
  • 举报
回复
后一个没什么实用价值。
使用 BufferedReader 主要为了使用 readLine 方法。
声明为 Reader 没什么意义。
qybao 2011-08-26
  • 打赏
  • 举报
回复
BufferedReader构造函数的参数是Reader,所以参数是任何Reader的子类都可以
同时BufferedReader也是Reader的子类,所以Reader in把子类转给父类没问题
softroad 2011-08-26
  • 打赏
  • 举报
回复
传Reader的任何子类都可以。
softroad 2011-08-26
  • 打赏
  • 举报
回复
你没发现FileReader是继承了InputStreamReader,InputStreamReader继承了Reader。

51,409

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧