В чем смысл системы.из.println на Java?

это статический

20 ответов


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

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

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


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

class System 
{
    public static PrintStream out;
}

class PrintStream
{
    public void println ...
}

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


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

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

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

System Это класс на java.lang пакета.

out это статический член!--17--> на System class, и является экземпляром java.io.PrintStream.

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



println и print являются два перегруженных метода, которые принадлежат PrintStream класса.

для доступа к ним нужен экземпляр этого класса.

A статическое свойство под названием out типа PrintStream создается на System класса.

следовательно, для доступа к вышеуказанным методам мы используем следующие утверждения:

System.out.println("foo");
System.out.print("foo");

System.out.println("Hello World");
  1. System: это имя стандартного класса, который содержит объекты это инкапсулирует стандарт I / O устройств вашей системы.

содержится в пакета java.lang. С java.lang пакет импортируется в каждую программу java по умолчанию, поэтому java.lang пакета - единственный пакет в Java API, который не требует импорта декларация.

  1. out:объект out представляет выходной поток (i.E команда окна)и статический член данных класса System.

например System.out (System -класс out- статический объект i.e почему его просто называют classname и нам не нужно создавать какой-либо объект).

  1. println:на println() is метод of out объект, который принимает текстовую строку в качестве аргумента и выводит его на стандартный выход я.е на экране монитора.

Примечание
System -класс
out -статический объект
println() методом
помните, что функция (в java функция называется методом) всегда имеет формат


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

out это


System класс java.lang пакет, out объект PrintStream класс, а также static элемент данных System класса, print() и println() является методом экземпляра PrintStream класса. он обеспечивает мягкий выход на консоли.


это довольно просто понять вопрос, но чтобы ответить на него, нам нужно копнуть глубже в родной код Java.

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

A краткое и приятное объяснение всегда приветствуется на этом, поскольку мы можем многому научиться из этой единственной строки само заявление!


потому что out вызывается с System само имя класса, а не экземпляр класса (объекта), поэтому out должна быть статическая переменная, принадлежащая классу System. out должен быть экземпляром класса, потому что он вызывает метод println().

// the System class belongs to java.lang package
class System {
    public static final PrintStream out;
}
class PrintStream {
    public void println();
}

System класса в java.lang package. И out это PrintStream "объект". Хорошее объяснение @ http://lazy-geeks.blogspot.in/2015/01/what-is-systemoutprintln.html


System.out.println();

System класс

out является переменной в System и это static и переменных типа PrintStream.

здесь out переменная System класс:

public final static PrintStream out = null;

вы можете увидеть реализацию System здесь.

println() является перегруженным методом в PrintStream класса.

PrintStream включает в себя три перегружен методы печати, это:

  1. print()
  2. println()
  3. printf()

вы можете ознакомиться реализация PrintStream здесь.

вы не можете создать экземпляр System класс и это дочерний класс Object и Object является отцом (суперклассом) каждого класса, включая классы, которые вы определили.

вот что говорит oracle docs:

public final class System extends Object

на System класс содержит несколько полезных полей и методов класса. Он невозможно создать экземпляр.

среди объектов, предоставляемых System класс стандартный входной сигнал, стандартный выход, и потоки выхода ошибки; доступ к внешнему определенные свойства и переменные среды; средство загрузки файлов и библиотеки; и утилита для быстрого копирования части матрица.

С: JDK1.0

если вы не знаете что подразумевается под instantiate, прочитайте этот questioh. Это вопрос C#, но концепция та же.

и в чем разница между экземпляром и объектом?

если вы не знаете что означает перегрузка читать этот quesiotn.


System - Это класс.

переменная out (упомянутая выше как System.out) - переменная класса системного класса.

на PrintStream class находится в пакете классов, которые используются для обеспечения возможности ввода-вывода потока для Java.

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


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

out является статическим членом данных в System класс и ссылочная переменная PrintStream класса.

Println() является нормальным (перегруженным) методом PrintStream класса.


из javadoc о System, вот что говорит доктор:

public final class System
extends Object

The System class contains several useful class fields and methods. It cannot be instantiated.
Among the facilities provided by the System class are standard input, standard output, and error output streams; access to externally defined properties and environment variables; a means of loading files and libraries; and a utility method for quickly copying a portion of an array.

Since:
JDK1.0

о System.out

public static final PrintStream out

The "standard" output stream class Prinstream  belongs to java.io package. This stream is already open and ready to accept output data. 
When the JVM is initialized, the method initializeSystemClass() is called that does exactly what it’s name says – it initializes the System class and sets the out variable. The initializeSystemClass() method actually calls another method to set the out variable – this method is called setOut().
Typically this stream corresponds to display output or another output destination specified by the host environment or user.

относительно println ();

class PrintStream{
public void println();
}

для простых автономных приложений Java типичным способом записи строки выходных данных является:

System.out.println(data);

System - класс final в природе. public final class System{}. Принадлежит java.lang пакета

out - static ссылочная переменная типа PrintStream

println() - non static метод PrintStream класса. PrintStream принадлежит .

чтобы понять это лучше, вы можете посетить:Как Система.из.println () работает в Java


система является классом java.

out является экземпляром, а также статическим членом PrintStream.

println является методом PrintStream.


System.out.println

System - это класс java.lang pacakge. out - это static элемент данных System class и ссылается на переменную PrintStream класса.


System: является предопределенным классом java.lang пакета.

out: это static член printStream класс и его соединение с консолью.

Println: метод printstream класс и его не static.