前言
想必很多人对System.out.println()只是简单的进行运用,并未深入了解其背后的原理,例如当问及当中的out是什么,很多人可能一时答不上来,又比如问道println()方法属于那个类,你可能不假思索的答System类,可结果真的如此吗,接下来让我们一起探寻其背后的真相!
一、System类
1.out
很明显,System是Java中的一个类,我们点进JavaAPI帮助文档可以看到
Sysem类有着三个静态成员属性,其中out赫然就在其中,因此我们可以得出out是System类的一个静态成员属性,其具体是什么我们可以看到其为PrintStream类的构造出的一个引用对象,所以我们得知out的原理。
2.println()
想必很多人认为println()是System中的一个成员方法,可当我们翻阅JavaAPI帮助文档却并未在System类中找到,相反,在PrintStream类中找到了println()方法
我们可以得知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 是用于将输出打印到控制台的语句。在这个语句中,out 是 System 类的一个静态成员变量,它是一个 PrintStream 类型的对象。
out 对象是 System 类的标准输出流。它提供了一系列方法来打印各种数据类型的值,并将其显示在控制台上。常用的方法包括 println(打印并换行)、print(打印但不换行)等。
使用 System.out.println,您可以将消息、变量的值或任何其他需要在控制台上显示的内容输出到标准输出流。