新人学习这个感觉这个很特殊,API里面这么写:
public static final PrintStream out“标准”输出流。此流已打开并准备接受输出数据。通常,此流对应于显示器输出或者由主机环境或用户指定的另一个输出目标。
底层是这样的, public final static PrintStream out = nullPrintStream();
private static PrintStream nullPrintStream() throws NullPointerException {
if (currentTimeMillis() > 0) {
return null;
}
throw new NullPointerException();
}
那么问题来了,
1.感觉这样定义很奇怪,虽然很好理解,但是为什么这样定义字段呢,好处在哪呢,直接写成一个类.方法(System.outPrint())这样不好么,设计的思想是什么?
2.就算这样写,底层代码里是怎么进行实现的呢?定义了一个字段,然后调用了一个方法,就OK了么?表示翻了一会没看到。
3.比如我自己写个TestPrint类,里面也写这样的字段
public class TestPrint
{
public static final PrintStream out=System.out;
public static void main(String[] args)
{
TestPrint.out.println("abc");
}
}
但是能不能不用System.out,实现控制台输出呢?
新人求指教。