web-dev-qa-db-ja.com

JavaのSystem.out.println()のSystem、out、printlnとは

可能性のある複製:
JavaのSystem.out.printlnの意味は?

私は、Systemout、および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はそのクラスの関数です。

私はこれらに混乱しています。誰が彼らが何であるかを正確に教えてもらえますか?

37
Dinup Kandel

あなたが投稿した最初の回答(システムは組み込みクラスです...)がかなり注目されています。

Systemクラスにはネイティブで、起動時にJVMによってセットアップされる大きな部分が含まれることを追加できます。たとえば、System.out printstreamを「標準出力」に関連付けられたネイティブ出力ストリームに接続コンソール)。

8
pap

Systemは、Java.langパッケージの最終クラスです。

outは、PrintStreamクラスで宣言されたSystem型のクラス変数です。

printlnは、PrintStreamクラスのメソッドです。

111
Dangling Piyush

混乱するときはいつでも、最初の説明として 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)
11
Sujay