【问题标题】:Argument of BufferedReader() constructor is an object of an abstract classBufferedReader() 构造函数的参数是抽象类的对象
【发布时间】:2019-05-12 03:06:50
【问题描述】:

考虑以下代码 sn-p。

BuffereReader br = new BufferedReader(Reader in);

在这种情况下,BufferedReader() 构造函数的参数是一个名为Reader 的抽象类的对象。我们知道抽象类不能在 Java 中实例化。那么,这种情况下Reader类的对象in是如何被实例化的呢?

【问题讨论】:

  • 对象不是Reader,而是任何实现Reader的类

标签: java bufferedreader reader


【解决方案1】:

BufferedReader 构造函数接收对Reader 类型实例的引用。由于Reader 是一个抽象类,这意味着构造函数只能接收对Reader 类的具体子类实例的引用。

【讨论】:

  • 我们可以用(FileReader or InputStreamReader)等子类实例代替父类实例(Reader in)吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-20
  • 1970-01-01
  • 2023-03-04
  • 2011-03-21
  • 2013-11-17
  • 2011-08-01
相关资源
最近更新 更多