13

OutputStream.flush()ドキュメントから。

実際に何かを行うことを説明した後、フラッシュメソッドOutputStreamは何もしないとドキュメントに記載されているのはなぜですか? 非常に紛らわしいです。

4

3 に答える 3

16

OutputStream派生元の抽象クラスです。サブクラスは、必要に応じて独自の実装を提供します。それ以外の場合、デフォルトの動作は何もしないことです。

たとえば、ObjectOutputStream.flush()のコードを参照してください。

于 2012-12-03T15:24:16.143 に答える
2

OutputStream抽象クラスです。フラッシュが必要な場合、派生インスタンスはそれをオーバーライドする必要があります。たとえば、BufferedOutputStream.
バッファを持たないストリームはオーバーライドする必要がないかもしれませんflush()

于 2012-12-03T15:25:44.350 に答える
0

テキストの最初の部分は、 の一般的な契約について説明していますflush。拡張するクラスOutputStreamは、この契約を順守することが期待されます。

OutputStreamは抽象クラスですが、デフォルトの実装flushが提供されています。説明したように、実装は何もしません。

于 2012-12-03T15:27:19.937 に答える