Почему 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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