可能性のある複製:
JavaのSystem.out.printlnの意味は?
私は、System
、out
、およびprintln
がJavaのSystem.out.println()
にあるものに対する答えを探していました。私は検索し、これらのような別の答えを見つけました:
システムは、Java.langパッケージに含まれる組み込みクラスです。このクラスにはfinal修飾子があります。つまり、他のクラスに継承することはできません。定義済みのメソッドとフィールドが含まれており、標準の入力、出力などの機能を提供します。
outは、タイプPrintStream(組み込みクラス、異なるデータ値を印刷するメソッドを含む)のSystemクラスの静的な最終フィールド(変数)です。静的フィールドとメソッドには、クラス名を使用してアクセスする必要があるため、(System.out)。
ここで出力されるのは、PrintStreamクラス型の参照変数です。
println()は、データ値を印刷するPrintStreamクラスのパブリックメソッドです。したがって、PrintStreamクラスのメソッドにアクセスするには、out.println()を使用します(非静的メソッドおよびフィールドには、refrefenceバリアブルを使用することによってのみアクセスできるため)
別のページで、別の対照的な定義を見つけます
System.out.printは、Javaで使用される標準出力関数です。 Systemはパッケージ名を指定し、outはクラス名を指定し、printはそのクラスの関数です。
私はこれらに混乱しています。誰が彼らが何であるかを正確に教えてもらえますか?
あなたが投稿した最初の回答(システムは組み込みクラスです...)がかなり注目されています。
System
クラスにはネイティブで、起動時にJVMによってセットアップされる大きな部分が含まれることを追加できます。たとえば、System.out
printstreamを「標準出力」に関連付けられたネイティブ出力ストリームに接続コンソール)。
System
は、Java.lang
パッケージの最終クラスです。
out
は、PrintStream
クラスで宣言されたSystem
型のクラス変数です。
println
は、PrintStream
クラスのメソッドです。
混乱するときはいつでも、最初の説明として Javadoc を参照することをお勧めします。
System
に関するjavadocから、ドキュメントの内容は次のとおりです。
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. 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.
For simple stand-alone Java applications, a typical way to write a line of output data is:
System.out.println(data)