为什么我们不能使用“PrintStream.out.println()”而不是“System.out.println()”,因为'out'属于'PrintStream'类?

时间:2016-02-06 07:35:51

标签: java

我是编程的初学者。我有这个不同寻常的疑问:

请告诉我System.outPrintStream.out之间的区别。

2 个答案:

答案 0 :(得分:2)

  1. System是一个具有一些静态字段的类,可以让您的Java程序访问非常基本的操作系统工具。

  2. OutputStream是一个提供将二进制数据写入流(例如文件或网络连接)的方法的类。

  3. PrintStreamOutputStream的子类,它提供了将文本和其他类型的变量(如booleanint)打印到基础OutputStream的方法。 1}}。例如,它将字符串转换为二进制(以便可以写出来)。

  4. System.outPrintStream的一个实例,它连接到标准输出流。

  5. out中的字段PrintStream(与System.out不同)不是静态字段。这意味着您需要PrintStream的实例才能访问它。 myPrintStream.out而不是PrintStream.out

  6. out个实例中的字段PrintStream是正在包装的基础OutputStream

    这适用于PrintStream的实现,以将其二进制输出写入。

    它也是protected,因此只有这些实现才能访问它。

    您无法直接访问System.out.out(或myPrintStream.out)(但您不需要,System.out将转发您write}

    <的所有内容/ LI>

答案 1 :(得分:0)

System.out.println()是通过控制台打印的标准方法,而作为包装器的PrintStream更专门用于写入网络流和文件。