我刚开始学习Java,之前有C语言的背景。
如何解析代码行"System.out.println()"?
Java是一种面向对象的语言。
System
是一个包含有用字段和方法的类。请参阅 API。
out
引用的是 System 中的一个对象,它是标准输出流,因此被写作 System.out
。
println("blah")
是 System.out
的一个方法,它将一个字符串作为一行打印出来。当没有参数传入时(如println()
),它会打印一行空白。
System是Java提供的一个类,可以让您操作各种与操作系统相关的对象。它是java.lang命名空间的一部分。
其中之一的对象out是该类中静态公共可用的对象。该对象本身代表标准输出,是java.io.PrintStream类的实例。标准输出在大多数操作系统上都是控制台输出。
println是java.io.PrintStream类的一个方法,可以让您将一些文本输出到流中,并且与print()方法相反,在文本后面换行。
来自这里
PS:请检查Google :)
java.lang.System.out
文档。
以及
public static final PrintStream out
“标准”输出流。此流已经打开并准备好接受输出数据。通常,此流对应于主机环境或用户指定的显示输出或其他输出目标。
对于简单的 Java 应用程序,写入一行输出数据的典型方法是:
System.out.println(data)
java.io.PrintStream.println()
:
public void println()
通过写入换行符字符串来终止当前行。换行符字符串由系统属性 line.separator 定义,并不一定是一个单独的换行符 ('\n')。
这与以下内容相同:
cout << "\n";
out是PrintStream类型的,并引用标准输出流,数据可以写入其中 - 这基本上是显示器,但它也可以是另一个设备。
PrintStream包含一个名为println的静态方法,允许写入数据。它在您尝试写入的数据末尾附加一个换行符字符串。
静态关键字实际上意味着它属于类而不是实例。
所以当你看到:
System.out.println("Hello World");
http://java.sun.com/j2se/1.5.0/docs/api/java/lang/System.html
这基本上就像 C 语言中的 puts
函数 -- 接收一个字符串并将其输出到标准输出。
System.out是指程序的标准输出。println的工作方式类似于C语言中的printf函数。在您的示例中,如果不传递参数,它只会返回一个换行符。
与C语言不同,Java是面向对象的,因此方法/函数和属性/变量被封装在对象中,例如"System"。查看javadoc以了解System对象上还有哪些可用内容。
点"."运算符用于指定类或对象内部的成员(函数)或变量。
它的使用方式类似于C语言中的成员选择运算符"->"。
"System.out.println()"的意思是:
在System类中查找out成员,然后在out成员中查找println函数并运行println函数。
参见:
http://en.wikipedia.org/wiki/Object_composition
并且
http://en.wikipedia.org/wiki/Function_composition_(computer_science)
System 是一个类,这意味着它是一个蓝图,但是蓝图的内容是什么呢? 根据API,
System 类包含了几个有用的类字段和方法。
现在,System 有几个属性或字段,例如:
API 还告诉我们 out 是什么。 Out 实际上是另一个对象,具体来说是一个 PrintStream 对象。
再次通过查阅 API,我们会发现 out 作为一个 PrintStream 对象,也有几个属性以及与之相关联的操作或方法。
Println 是 out 的其中一个方法。它的作用是在“标准输出”或者说你的屏幕上显示一个字符串、数字或其他内容。
就像David Johnstone所说的: System是Java中有用方法的类 out是PrintStream类型 print,println,printf是你可以将某些内容输出到控制台的不同方式;
System.out.print("your text here"); prints "your text here".
System.out.println("your text here"); prints "your text here" and goes to the next line
System.out.printf("%s %s %s" , string1,string2,string3); prints out the contents of string1 string 2 and string3. The %s tells java to put the associated string in place of it.