3.1 System

本书前面一直在使用 System.out.println,但你可能没有想过其含义。System 是一个类,提供了与运行程序的系统或环境相关的方法,以及特殊值 System.out,这个值提供了显示输出的方法,其中包括 println

实际上,我们可用 System.out.println 来显示 System.out 的值:

  1. System.out.println(System.out);

结果如下:

  1. java.io.PrintStream@685d72cd

上述输出表明,System.out 是一个 PrintStream,而 PrintStream 是在 java.io 包中定义的。(package)是一组相关的类;java.io 包含用于 I/O(输入和输出)的类。

@ 后面的数字和字母是 System.out 的十六进制地址(address)。值的地址指的是值在计算机内存中的位置,可能随计算机而异。在这个示例中,地址为 685d72cd,但如果你运行这些代码,可能会得到不同的地址。

如图 3-1 所示,System 是在文件 System.java 中定义的,而 PrintStream 是在文件 PrintStream.java 中定义的。这些文件都包含在 Java (library)中,Java 库是一个庞大的类集,你可以在程序中使用其中的任何类。

{%}

图 3-1:System.out.println 指向 System 类的 out 变量,这个变量是一个提供了方法 printlnPrintStream