2012-12-03 36 views

回答

10

OutputStream是从中派生的抽象类。如有必要,子类将提供自己的实现。否则,默认行为是什么都不做。

例如请参阅代码ObjectOutputStream.flush()

+1

Resonable。但在文档中仍然是一个奇怪的表述。 –

2

OutputStream是一个抽象类。 如果需要刷新,派生实例必须覆盖该实例。 例如BufferedOutputStream
没有缓冲区的流可能不需要覆盖flush()

+0

不必。它可以不选择 –

+0

像所有抽象分类一样可以选择,也可以不实施。 – AlexWien

+1

但是你上面说过,派生实例*必须*。这是我不同意的一点! –

0

该文本的第一部分描述了flush的总体合同。预计延伸OutputStream的课程将遵守本合同。

OutputStream是一个抽象类,但提供了flush的默认实现。如上所述,该实现什么都不做。