0

これは、最初の「Hello World」以来、ずっと気になっていたことです。

Java の out PrintStream が、PrintStream を返す「getOut()」メソッドのようなものを作成するのではなく、使用するように設計された静的フィールドであるのはなぜですか。優れたコーディング プラクティスについて私が学んだことはすべて、これが最善の方法であるということです。なぜJavaはそれをしないのですか?

4

1 に答える 1

1

直接の理由は、ストリームが、1.1 で追加されたその命名法でSystemJavaBeans モデルよりも前から存在することです。get/set/isストリームはSystem内部クラスの前に 1.0 までさかのぼるため、下位互換性には継続性が必要です。

これに関連する理由として、getter の呼び出しは直接フィールド参照ほど効率的にインライン化できないことが挙げられます。メソッドがfinal.

于 2013-09-07T19:20:13.427 に答える