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



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

578   20  

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 класс, и является экземпляром java.io.PrintStream.

println это метод на 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 представляет выходной поток(т. е. команда окна)и статический член данных класса System.

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

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

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

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

*out это

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

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

  • 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

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

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

С тех пор: JDK1.0

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

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

если вы не знаете что подразумевается под перегрузкой прочитайте этот вопрос.

System - Это класс.

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

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

The out переменная System класс ссылается (указывает) на экземпляр PrintStream класса (

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() - не static метод PrintStream класса. PrintStream принадлежит .

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

система - это класс java.

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

println - это метод PrintStream.

System.out.println

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

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

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

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

Comments

    Ничего не найдено.