System类在java中表示什么?

时间:2017-03-09 11:43:05

标签: java

我不知道System类在java中代表什么。系统是什么意思,它是否像控制台一样,或者以某种方式连接到控制台?

1 个答案:

答案 0 :(得分:2)

java.lang.System类并不代表任何东西。它是一个包含大量static方法和三个static字段的类。基本上,它是用于与主机系统交互的方法的“实用程序类”。值得浏览javadoc以更好地了解System“抓包”中的内容“

静态字段包含对应用程序的“标准输入”,“标准输出”和“标准错误”流的引用。这些可以连接到控制台,或者它们可以连接到其他源/接收器以用于字符数据。例如,如果您运行这样的Java应用程序:

  java com.example.MyApp < input.txt

然后标准输入流(在System.in中)将从“input.txt”文件而不是控制台读取。

从OO设计的角度来看,这是一个很糟糕的例子:IMO,这是一个错误。然而,这个课程历史悠久,并且它被嵌入到常见用法中,因此纠正这种设计错误是不可能的。实际上,即使在Java 1.1中也无法纠正错误......因为修复程序会大大破坏向后兼容性。