Почему System.out.println() в Java выводит на консоль?JAVA

Программисты JAVA общаются здесь
Anonymous
Почему System.out.println() в Java выводит на консоль?

Сообщение Anonymous »

Я прочитал в Интернете несколько сообщений, объясняющих, что такое System.out.println() в Java. Большинство из них выглядят следующим образом:

  • — это последний класс в пакете java.lang.
  • — это общедоступный статический объект внутри класса System типа PrintStream.
  • Код: Выделить всё

    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

Вернуться в «JAVA»