-3

来自https://docs.oracle.com/javase/7/docs/api/java/io/Writer.htmlhttps://docs.oracle.com/javase/7/docs/api/java/io/FilterWriter .html,我发​​现这FilterWriter是一个抽象类,它扩展Writer并且没有额外的方法。

我只是好奇:

  1. 定义 FilterWriter 为精确副本的 Writer基本原理是什么?
  2. FilterWriter有什么区别Writer
4

2 回答 2

1
  1. 定义FilterWriter为精确副本的基本原理是Writer什么?

FilterWriter不是. _ _ Writer虽然声明abstract了 ,但它提供了所有Writer抽象方法的实现,并且覆盖了一些具体方法。这些实现服务于FilterWriter特定目的,如其 API 文档中所述:

抽象类 FilterWriter 本身提供了将所有请求传递给包含的流的默认方法。FilterWriter 的子类应该覆盖其中的一些方法,并且还可以提供额外的方法和字段。

尽管没有抽象方法,但该类是抽象的,因为所描述的功能本身并不直接有用。它旨在用作监视或修改写入底层的字符流的类的基类Writer

  1. FilterWriter和有什么区别Writer

在功能上,为 的抽象方法FilterWriter提供具体实现Writer,并覆盖其他一些方法。类型方面,Writer是一堆类的超类,FilterWriter而不是超类,包括FilterWriter它自己。

于 2016-08-03T04:45:10.560 回答
0

该类FilterWriter是过滤输出的所有编写器类的超类。FilterWriter通过包装现有编写器(称为底层编写器)并提供附加功能的作品子类。的方法FilterWriter简单地覆盖Writer调用底层编写器相应方法的版本的方法。

FilterWriter不能直接实例化;它必须是子类。的子类的实例FilterWriter是用另一个Writer对象构造的。的子类的方法FilterWriter应该覆盖某些方法以扩展它们的行为或提供某种过滤。

FilterWriter类似于FilterOutputStream,只是它处理的是字符流而不是字节流。

于 2016-08-03T04:37:20.370 回答