0

这是我从第一个“Hello World”开始就一直好奇的事情

为什么 Java 的 out PrintStream 是一个静态字段,旨在使用而不是制作类似“getOut()”的方法来返回 PrintStream。我所学到的关于良好编码实践的一切都表明这是做事的最佳方式。为什么Java不这样做?

4

1 回答 1

1

直接原因是流的命名System早于 JavaBeans 模型,它是在 1.1 中添加的;get/set/isSystem一直回到 1.0,甚至在内部类之前,因此向后兼容性需要连续性。

一个相关的原因是,即使方法是 ,对 getter 的调用也不能像直接字段引用那样有效地内联final,并且由于打印输出如此普遍,即使在今天,这些字段也很可能会被直接使用。

于 2013-09-07T19:20:13.427 回答