前言

想必很多人对System.out.println()只是简单的进行运用,并未深入了解其背后的原理,例如当问及当中的out是什么,很多人可能一时答不上来,又比如问道println()方法属于那个类,你可能不假思索的答System类,可结果真的如此吗,接下来让我们一起探寻其背后的真相!

一、System类

1.out

很明显,System是Java中的一个类,我们点进JavaAPI帮助文档可以看到

java system.out.println无法输出 java中system.out.println()_jvm

Sysem类有着三个静态成员属性,其中out赫然就在其中,因此我们可以得出outSystem类的一个静态成员属性,其具体是什么我们可以看到其为PrintStream类的构造出的一个引用对象,所以我们得知out的原理。

2.println()

想必很多人认为println()是System中的一个成员方法,可当我们翻阅JavaAPI帮助文档却并未在System类中找到,相反,在PrintStream类中找到了println()方法

java system.out.println无法输出 java中system.out.println()_jvm_02


我们可以得知println()为PrintStream
类中的成员方法。

二、PrintStream类

PrintStream 是 Java 标准库中的一个类,它提供了输出数据到各种目标的功能,例如控制台、文件或网络流。它是 OutputStream 类的子类,继承了其输出流的基本功能,并添加了一些用于方便打印数据的方法。

PrintStream 类具有许多用于输出的方法,包括:

print:用于打印指定数据的字符串表示形式。
println:与 print 类似,但在打印完成后会添加一个换行符。
printf:用于格式化输出,类似于 C 语言中的 printf 函数。
write:用于将字节写入输出流。
flush:用于刷新输出流,将缓冲区中的数据强制写入目标。
PrintStream 类还具有自动刷新功能。当输出流被包装在
PrintStream 对象中时,它会自动刷新缓冲区,并将数据写入目标。这使得在使用 print 或 println 方法后无需手动调用 flush 或 close 方法。

总结

在Java中,System.out.println 是用于将输出打印到控制台的语句。在这个语句中,outSystem 类的一个静态成员变量,它是一个 PrintStream 类型的对象。

out 对象是 System 类的标准输出流。它提供了一系列方法来打印各种数据类型的值,并将其显示在控制台上。常用的方法包括 println(打印并换行)、print(打印但不换行)等。

使用 System.out.println,您可以将消息、变量的值或任何其他需要在控制台上显示的内容输出到标准输出流。