System.out.printlnメソッドの場所 lang PrintStream - 萌えJava超入門
HelloWorld解説

System.out.printlnメソッドの場所

printlnメソッドは、java/io/PrintStream.java にあります


目次


1. System.out.printlnメソッド

System.out.printlnは、カッコの中に与えられた値を文字列に変換して
コマンドラインに表示させるためのメソッドです。

System.out.println 書式
  System.out.println("表示させたい文字列");

//HelloWorld.java
class HelloWorld {
    public static void main(String[] args){
        System.out.println("HelloWorld!");
    }
}

ここまではいいよな?



OK~。


2. System.out.printlnメソッドの場所


ちなみにですが、printlnメソッドをその目で確認しないと信用できない!
という人のために、printlnメソッドのソースを紹介しますね。
この時点で理解する必要はありません。
「ちゃんとそこにある」ということだけ実感してください。

「System.out.println()」も
HelloWorld.java の mainメソッドと同じ
メソッドの仲間であることを感じてほしい。
printlnメソッド
見れるんスか?!


Windows の場合、JDKをインストールしたフォルダに「src.zip」というファイルがあります。
ここに、クラスファイルにコンパイルする前のソースファイルがあります。
Systemクラスは、src.zip の中の java/lang/System.java にあります。

実際に呼ばれているのは
classファイルの方だけど
中身が見れないからな。
src.zip はただのおまけです。
無くてもJDKの機能に問題が出るわけではありません。
でも、ソースが確認できるのでとても助かります。

System.java
System.java

Systemクラスの中には、out というクラス変数があります。
outは PrintStreamクラスの変数(インスタンス)です。

System.java の out変数
//System.java
public final class System {
    public final static PrintStream out = null;
}
**System.javaの一部を超大胆に抜粋しています。



PrintStreamクラスは、src.zip の中の java/io/PrintStream.java にあります。
printlnメソッドは、PrintStream.java に記述されています。

PrintStream.java
PrintStream.java

PrintStream.java の printlnメソッド
//PrintStream.java
public class PrintStream {
    public void println(String x) {
      synchronized (this) {
          print(x);
          newLine();
      }
    }
}
**PrintStream.javaの一部を超大胆に抜粋しています。

System の out の println
っていうのは
まあ分からなくもないわ。
深いとこにあるんすね。
ちょっとよくわかりませんでした。
かっ..形はメソッドの形してるだろ?


お疲れ様でした。




© 2019 awasekagami