В чем смысл системы.из.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");
-
System
: это имя стандартного класса, который содержит объекты это инкапсулирует стандарт I / O устройств вашей системы.
содержится в пакета java.lang
. С java.lang
пакет импортируется в каждую программу java по умолчанию, поэтому java.lang
пакета - единственный пакет в Java API, который не требует импорта декларация.
-
out
:объект out представляет выходной поток (i.E команда окна)и статический член данных классаSystem
.
например System.out
(System
-класс out
- статический объект i.e почему его просто называют classname и нам не нужно создавать какой-либо объект).
-
println
:наprintln()
is метод ofout
объект, который принимает текстовую строку в качестве аргумента и выводит его на стандартный выход я.е на экране монитора.
ПримечаниеSystem
-классout
-статический объектprintln()
методом
помните, что функция (в java функция называется методом) всегда имеет формат
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
включает в себя три перегружен методы печати, это:
print()
println()
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
.