A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 521123270 中级黑马   /  2015-5-16 22:20  /  3915 人查看  /  13 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1黑马币
{:3_65:}可以通过Reader r = new Reader("c:\\pet.txt")创建一个输入流对象  这句话对不?为什么啊?请详解!谢谢!

最佳答案

查看完整内容

明显不对。。Reader是字符流的抽象父类,抽象类是不可以创建对象的,当然可以这样Reader r = new FileReader(“c:\\pet.txt”);这是子类对象指向父类引用,是多态!

13 个回复

倒序浏览
明显不对。。Reader是字符流的抽象父类,抽象类是不可以创建对象的,当然可以这样Reader r = new FileReader(“c:\\pet.txt”);这是子类对象指向父类引用,是多态!

评分

参与人数 1黑马币 +1 收起 理由
521123270 + 1 赞一个!

查看全部评分

回复 使用道具 举报
java.io.Reader是一个很不错的读取字符流的抽象类,通过继承Reader类,我们可以很方便的读取字符流,比如,我们可以将一个字符串读取为一串串(字符)流,还可以读取一个文件里的内容为一串串的流

评分

参与人数 1黑马币 +1 收起 理由
521123270 + 1 赞一个!

查看全部评分

回复 使用道具 举报
你创建的应该是子类,读取的应该是 Reader  
回复 使用道具 举报
Reader r = new FileReader(“c:\\pet.txt”);应该这样读取
回复 使用道具 举报
抽象类    是不可以实例化的  亲
回复 使用道具 举报
赵旗 中级黑马 2015-5-16 23:11:35
7#
Reader是一个抽象类 不能被实例化  所以要用他的子类来实例化
Reader r = new FileReader(“c:\\pet.txt”);
回复 使用道具 举报
Reader是一个抽象类,不能直接new的,需要使用它的子类,如果是字符文件 使用 BufferedReader,普通的文件使用FileReader
回复 使用道具 举报
kingowe 发表于 2015-5-17 08:42
Reader是一个抽象类,不能直接new的,需要使用它的子类,如果是字符文件 使用 BufferedReader,普通的文件 ...

怎么在API查看是抽象类?????
回复 使用道具 举报
zouzouzou 发表于 2015-5-16 23:13
明显不对。。Reader是字符流的抽象父类,抽象类是不可以创建对象的,当然可以这样Reader r = new FileReade ...

怎么在API查看是抽象类?????
回复 使用道具 举报
Reader是抽象类,你查API看到的没错,不用怀疑自己的眼睛,而抽象类是不能实例化的,但是可以用Reader的子类创建对象,但可以用Reader类的引用指向子类的对象(多态的一种).
    纯手写,无污染!得不到黑马币就再也不相信爱了!

评分

参与人数 1黑马币 +1 收起 理由
521123270 + 1 拿去

查看全部评分

回复 使用道具 举报
zzlin 中级黑马 2015-5-17 12:57:02
12#
Reader是抽象类不能直接实例化要通过子类对它进行实例化
回复 使用道具 举报

Reader r = new FileReader(“c:\\pet.txt”);应该这样读取
回复 使用道具 举报
你很厉害!膜拜大神!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马