我看不懂这句话public final static PrintStream out = nullPrintStream();,能帮忙解释一下吗?
------解决方案--------------------
定义PrintStream型全局静态常量out,并将nullPrintStream()方法的返回值赋给out
------解决方案--------------------
字段可以是基本类型也可以是对象类型吧
------解决方案--------------------
System类里有大量的native方法,是调用本地代码的,这些代码很可能是由虚拟机来调用的.
System类的开头有一段:
- Java code
static { registerNatives(); }
------解决方案--------------------
就是一个简单的赋值问题
你就理解成
String str = disposal();
其中disposal是你随便定义的一个函数,只不过该函数返回一个String的值而已....
你再不理解就去看书吧....
------解决方案--------------------
不好意思,忽略了小细节
- Java code
public class A { //把final去掉,否则常量就不能再改变了 public static PrintStream out = nullPrintStream(); //nullPrintStream是个方法,返回值是PrintStream对象 public static PrintStream nullPrintStream() { //return new PrintStream(); return null; //new一个对象返回还是返回空对象,由写程序的人决定 } public static void setOut(PrintStream o) { out = o; //给out赋值 } public static void main(String[] args) { setOut(new PrintStream()); out.println("hello"); }}