【发布时间】:2019-05-01 09:40:59
【问题描述】:
我正在查看System.out.println() 的内部实现。虽然我了解它是如何工作的,但无法弄清楚:
- 为什么他们首先决定使用
System类。 他们本可以直接使用
PrintStream包中的PrintStream类。语法
className.referenceVariable.Methodname有什么意义,因为我们一般不用这个。这有什么具体原因吗?
谁能详细说明这些观点或任何相关信息会很好。
【问题讨论】:
-
System.out的东西首先在在 Java 1.0 之前完成。事后看来,这可能是一个错误。 -
如果您在类 X 中声明了一个类型为 Y 的静态变量,并希望在该变量引用的实例上调用方法 Z,则语法为 X.Y.Z()。
className.referenceVariable.Methodname语法没有什么特别之处。 -
输入、输出和错误流的可用性是
System的属性,类似于环境变量。 -
为什么all
PrintStreams 会关心系统的标准 IO 流?PrintStreams在完全不同的数据接收器上运行(例如通用的 OutputStreams。) -
“直接使用PrintStream”是什么意思? System.out 和 System.err 是专门的 PrintStreams。不要误解这里的抽象:System.out 是 one 特殊 PrintStream 的一个实例,但 PrintStream 与 System.out 或 err 或任何其他特定数据接收器没有关系。
标签: java class println system.out printstream