一个打印到标准输出流,一个到错误输出流
默认两者都是屏幕的
但是你在运行的命令上可以指定输出到一个文件的。
如:java Test >out.txt 2>err.txt
那么System.out.print输出到out.txt
System.err.print()输出到err.txt
你说的那种情况是不可能出现的,肯定会先执行static块,1总是在第一,但是6不一定是最后,而且2,3,4,5的顺序不会变。原因是因为他们是不同的输出流方式。同一种输出方式,肯定是先加入的先输出。
你的代码拷下来有问题,修改后如下:
public class Test {
public Test() {
System.err.println("2");
System.err.println("3");
System.err.println("4");
System.err.println("5");
System.out.println("6");
}
public static void main(String[] arg) {
new Test();
}
static {
System.out.println("1");
}
}
|