java中System.out.print();out的理解

来源:互联网 发布:java银行项目面试技巧 编辑:程序博客网 时间:2024/06/06 05:31
    在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 SubTestThis is a test
1 0
原创粉丝点击