有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

OutputStream的flush方法什么都不做?

来自^{}文档

为什么它在文档中声明OutputStreamflush方法在解释了它实际上做了什么之后,什么都不做?非常混乱


共 (3) 个答案

  1. # 1 楼答案

    正文的第一部分描述了flush的总合同。扩展OutputStream的类应遵守本合同

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

  2. # 2 楼答案

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

    例如,参见ObjectOutputStream.flush()的代码

  3. # 3 楼答案

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