在Java编程中,我们常常用System.out.println()方法来输出,在集合中我经常看到使用方法引用的方式来遍历集合元素:xxx.foreach(System.out::println);也许我们都已经猜到println()是方法名,System是类名,但out又是什么呢?
通过查阅api文档,我们可以发现,out是System类的一个field,我们经常翻译成“域”、”属性”、“字段”。简单的说就是System类的成员变量,既然已经知道System的静态成员变量,但这个成员不属于基本类型,而是java.io.PrintStream类。public static final PrintStream out = new PrintStream();
所以这个out就可以理解为System类的静态成员变量引用了PrintStream类的对象。而print是PrintStream类中的实例方法,又根据类.静态成员变量的规定,即表达成System.out.print();
看下面三段代码:(转)
测试主程序:
package com.jiuzhai.blue.test;
public class HttpTest {
public HttpTest() {
System.out.println("This is class HttpTest");
}
/**
- @param args
*/
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
SubMain.st.test();
}
}
对比于System类:
package com.jiuzhai.blue.test;
public class SubMain {
public static SubTest st = new SubTest();
public SubMain() {
System.out.println(“This is class Submain”);
}
}
对比于PrintStream类:
package com.jiuzhai.blue.test;
public class SubTest {
public SubTest() {
System.out.println(“This is class SubTest”);
}
public void test() {
System.out.println(“This is a test”);
}
}
运行输出为:
This is class SubTest
This is a test
转自:
作者:DivanoLi
来源:CSDN
原文:https://blog.csdn.net/xulilinman/article/details/50498838