3.1 System类
本书前面一直在使用 System.out.println,但你可能没有想过其含义。System 是一个类,提供了与运行程序的系统或环境相关的方法,以及特殊值 System.out,这个值提供了显示输出的方法,其中包括 println。
实际上,我们可用 System.out.println 来显示 System.out 的值:
System.out.println(System.out);
结果如下:
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 变量,这个变量是一个提供了方法 println 的 PrintStream
