2012-01-12 2 views

ответ

11

out - статическое поле, содержащее ссылку на объект PrintStream.

println НЕ является статическим методом.

Здесь объявление переменной out в System.java

/** 
* The "standard" output stream. This stream is already 
* open and ready to accept output data. Typically this stream 
* corresponds to display output or another output destination 
* specified by the host environment or user. 
* <p> 
* For simple stand-alone Java applications, a typical way to write 
* a line of output data is: 
* <blockquote><pre> 
*  System.out.println(data) 
* </pre></blockquote> 
* <p> 
* See the <code>println</code> methods in class <code>PrintStream</code>. 
* 
* @see  java.io.PrintStream#println() 
* @see  java.io.PrintStream#println(boolean) 
* @see  java.io.PrintStream#println(char) 
* @see  java.io.PrintStream#println(char[]) 
* @see  java.io.PrintStream#println(double) 
* @see  java.io.PrintStream#println(float) 
* @see  java.io.PrintStream#println(int) 
* @see  java.io.PrintStream#println(long) 
* @see  java.io.PrintStream#println(java.lang.Object) 
* @see  java.io.PrintStream#println(java.lang.String) 
*/ 
public final static PrintStream out = nullPrintStream(); 

И это как println метод выглядит следующим образом:

/** 
* Terminates the current line by writing the line separator string. The 
* line separator string is defined by the system property 
* <code>line.separator</code>, and is not necessarily a single newline 
* character (<code>'\n'</code>). 
*/ 
public void println() { 
newLine(); 
} 
2

«out» - статическое публичное поле со значением Stream.

public final class System { 
    public final static PrintStream out = nullPrintStream(); 
... 
} 
2

out класс статическое поле типа PrintStream. Прочитано here

2

System - класс. out - статическое поле класса System, его тип - PrintStream. println - это метод экземпляра класса PrintStream.

Просто взгляните на the javadoc, и у вас будет вся информация, которую вы ищете.

2

Source Page

System.out.println()

System встроенный в классе присутствует в java.lang пакете. Этот класс имеет окончательный модификатор, что означает, что он не может быть унаследован другими классами. Он содержит предопределенные методы и поле, что обеспечивает такие удобства, как стандартный ввод, вывод и т.д.

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

out здесь обозначает ссылочную переменную типа PrintStream класс.

println() - общедоступный метод в классе PrintStream, который используется для печати значений данных. Следовательно, чтобы получить доступ к способу в классе PrintStream, мы используем out.println() (как не статические методы и поля могут быть доступны только с помощью ссылочной переменной)

например:

int i = 3; 
System.out.println(i); 

Приведенный выше код выводит значение из 3 на экране и выводит элемент управления на следующую строку.

+1

[Подобный Question1] (http://stackoverflow.com/questions/3406703/whats-the-of-of-system-out-println-in-java/11202369 # 11202369), [Аналогичный вопрос2] (http://stackoverflow.com/questions/10004856/just-wondering -система-вне Println/11202355 # 11202355) –

0

Q. Чтобы найти длину S в заданном коде, что вы должны написать вместо Ans ??

class Test{ 

     static String S="java"; 

     public static void main(String[] args) { 

     System.out.println(Ans); 

     } 

} 

Ans: Test.S.length() 
  1. Здесь S является статическая переменная типа String, присутствующий в классе Test

  2. Таким образом, статическая переменная доступа с использованием class_name.static_variable_name в test.s

  3. Чтобы найти длину статической переменной S, метод length() используется для класса String, где S - объект, и мы знаем, что объект может получить доступ к методу как S.length()

Та же концепция используется в System.out.println() как:

class System{ 

     static PrintStream out; 

} 
  1. системы является class_name

  2. из статично переменная типа PrintStream присутствует в классе System. Это также объект класса PrintStream и метод доступа println() того же класса.