怎么样理解System.out.println();
我的程序里面没有import任何类,用了System.out.println();正常运行。查了相关文档,说程序默认import java.lang.* ,而out是java.lang.System这个类下面的一个静态成员变量,被定义成PrintStream类型,而我的程序没有import java.io.PrintStream这个类,它怎么会正常运行java.io.PrintStream.println()这个方法的呢?JDK附带的System.java相关代码是:
public final static PrintStream out = nullPrintStream();
private static PrintStream nullPrintStream() throws NullPointerException {
if (currentTimeMillis() > 0)
return null;
throw new NullPointerException();
}
java.io.PrintStream.java里面:
public void println() {
newLine();
}
我不明白的是
nullPrintStream();只是返回一个null值。public final static PrintStream out = nullPrintStream();这里没有实例化PrintStream对象,怎么外部就可以直接调用PrintStream对象里面的println()方法呢?小弟愚,请指教,千万别骂我没好好看书,呵呵。