为什么out.println和err.println之间存在差异?

May*_*tal -1 java out printstream println

  1. System.class包含Printstream类的"out"和"err"对象.
  2. System.class声明为static.
  3. println()是Printstream类中的重载方法,它有(out和err对象)

如果我们执行System.out.println("Xys"); 和System.err.println("Fdfd");

它们都应该完全相同而且错误是同一类的对象,除非事实并非如此.

为什么out.println()以黑色打印而err.println()以红色打印.

Dav*_*ton 6

因为您使用的IDE打印stderr为红色,stdout为黑色.

这与Java无关,而且与你所处的环境有关 - 它正在进行着色,而不是Java本身,它不关心它的输出实际呈现的方式.