【发布时间】:2016-08-26 07:35:09
【问题描述】:
我想通过继承java.io.Reader 类来创建我的CustomReader 类。我的CustomReader 将环绕另一个BufferedReader,读取实际输入,并从中添加我自己的输入翻译并返回给我的调用者。 (是不是叫装饰器模式?)
javadoc 说只有Reader 类的close 和read(char[] cbuf, int off, int len) 是抽象方法,但其他不是。但是我可以从java.io.Reader 继承的这些其他非抽象方法中期望什么样的默认实现?例如,如果有人调用我的read(),它是从Reader 类继承的,它会调用我的read(char[] cbuf, int off, int len) 实现来获取输入吗?另外,标准Reader 的ready() 方法如何确定其返回值?由于它不是抽象的,我不必提供实现。
我真的需要将所有继承的方法从Reader 转发到我环绕的BufferedReader - 是否抽象?
【问题讨论】:
标签: java wrapper decorator java-io