- — это последний класс в пакете java.lang.
Код: Выделить всё
System
- — это общедоступный статический объект внутри класса System типа PrintStream.
Код: Выделить всё
out
- печатает строку текста в поток вывода.
Код: Выделить всё
println()
Мой вопрос: когда мы do System.out.println() в нашем коде, почему он в конечном итоге пишет в консоль? В этой статье объясняется, как мы можем заставить его записать в файл, вызвав System.setOut(). Итак, мой вопрос заключается в том, где вызывается System.setOut() для перенаправления вывода на консоль?
Я проверил System.setOut() источник. Он вызывает метод setOut0(), который является собственным методом. Этот метод вызывается непосредственно внутри метода InitializeSystemClass() путем передачи ему fdOut, который представляет собой FileOutputStream, определенный здесь. Я нигде не нашел потока вывода консоли, передаваемого в setOut0(), и не нашел нигде вызова неродной функции setOut(). Это делается где-то еще за пределами класса System JVM при запуске выполнения? Если да, может ли кто-нибудь указать мне на это?
Подробнее здесь: https://stackoverflow.com/questions/611 ... he-console