Что означает System.out.println в Java?

Является ли эта статическая функция println в классе из класса из пространства имен System ?

namespace System {
  class out {
    static println ...
  }

Как я могу интерпретировать это имя? И где в JRE эта функция определена? В java.lang. Система / java.lang.Object ?

58
задан user35443 10 July 2013 в 06:06
поделиться

3 ответа

Нет. Фактически out является статическим членом в классе System (не как в .NET), являясь экземпляром PrintStream . А println - это обычный (перегруженный) метод класса PrintStream .

См. http://download.oracle.com/javase/6/docs/api/java/lang/System.html#out .

На самом деле, если бы out / err / в были классами, они были бы названы с заглавной буквы ( Out / ] Err / В ) из-за соглашения об именах (игнорирование грамматики).

85
ответ дан 24 November 2019 в 18:38
поделиться

Система - это класс, у которого есть публичное статическое поле out . Так что это больше похоже на

class System 
{
    public static PrintStream out;
}

class PrintStream
{
    public void println ...
}

. Это небольшое упрощение, поскольку класс PrintStream на самом деле находится в пакете java.io , но он достаточно хорош, чтобы показать взаимосвязь между материалами.

48
ответ дан 24 November 2019 в 18:38
поделиться

Проверьте следующую ссылку:

http://download.oracle.com/javase/1.5.0/docs/api/java/lang/System.html

Вы ясно увидите, что:

System - это класс в пакете java.lang.

out является статическим членом класса System и представляет собой экземпляр java.io.PrintStream.

println - это метод класса java.io.PrintStream. Этот метод перегружен для печати сообщения в место вывода, которое обычно представляет собой консоль или файл.

26
ответ дан 24 November 2019 в 18:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: