

お世話になります。  
Javaを勉強しようと思いHello,WorldからサンプルプログラムとAPI仕様（
<https://docs.oracle.com/javase/jp/8/docs/api/> ）を見比べながら勉強しています。

お馴染みのHello Worldですが、

[code]

    System.out.println("Hello, world.");
    
[/code]

となっておりAPIにはoutはSystemクラスのフィールドであると書いてあります。

フィールドOutの項目には

[code]

    public static final PrintStream out
    
[/code]

とありSystemクラスの中でプリントストリーム型？のフィールドoutを定義しているように思えました。

更に関連項目からはメソッドPrintln()はPrintStreamクラスに属する事がわかりました。

そこで試しにHello
WorldのコードをSystem.out.println()からPrintStream.println()に書き換えてみるとエラーになりました。

どうしてこのような事が発生するのでしょうか？


CC BY-SA 3.0
2016-05-26T07:16:29.483
25191
2016-05-26T08:42:05.423
2016-05-26T08:42:05.423
76
14436
question
java
System.out.println() は何故 PrintStream.println() だとコンパイルエラーになるのでしょうか？