While System.in, System.out, and System.err are all initialized when a Java VM starts by the Java runtime. Also, .out and .err are both a type of PrintSteam. Here, .out prints anything that needs to be printed on the output section. On the other hand, .err almost exclusively is used to print error messages, either separately in the stderr output stream or a different color in IDEs like Eclipse.