java中为何不允许将其他打印流赋给System.out
展开全部
在Java System.out就是系统输出流,在java.lang.System里面,out被定义为public static final java.io.PrintStream out;
假设在System.out.print()中允许加入另一个打印流的话,会有2种情况:要么两个输出流都会执行,要么2个输出流中选1个执行。那到底选哪个呢?
在这种出现分歧的情况下,就是伟大的setter方法出场的时候了。
看下java.lang.System的api,会发现它的静态方法中有
static void setOut(PrintStream out),这个方法里,你可以把继承自抽象类PrintStream的输出流重新set进去,这样你就可以的当前的输出流打印了
假设在System.out.print()中允许加入另一个打印流的话,会有2种情况:要么两个输出流都会执行,要么2个输出流中选1个执行。那到底选哪个呢?
在这种出现分歧的情况下,就是伟大的setter方法出场的时候了。
看下java.lang.System的api,会发现它的静态方法中有
static void setOut(PrintStream out),这个方法里,你可以把继承自抽象类PrintStream的输出流重新set进去,这样你就可以的当前的输出流打印了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询