![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
No.3ベストアンサー
- 回答日時:
べつに「クラス.メソッド(引数)」と決まっているわけではありません。
「.」も2つに限らず、3つ以上でもいくつでも重ねて指定できます。
たとえば「aaa.bbb(ccc);」という式があったとします。
このとき、dddにaaaを返す「getAaa()」というメソッドがあれば、
「ddd.getAaa().bbb(ccc);」と書けますし、
さらにeeeというクラスにpublicなdddというフィールドがあれば
「eee.ddd.getAaa().bbb(ccc);」と書けるわけです。
System.out.println(...)の場合は(APIドキュメントも参照してください)、
java.lang.Systemクラスにpublicなフィールドoutがあって、
outはjava.io.PrintStream型なので、publicなprintln()メソッドがあるので、
それを呼ぶような記述をしているわけです。
No.2
- 回答日時:
メソッドの戻り値がクラス(のインスタンス)なんです。
System.out.println()の場合、System.outはPrintStreamを返します。そのPrintStream.println()をまた呼んでいるのです。
これを分解すると、
PrintStream outStream = System.out;
outStream.println(...);
という2行分の処理、という意味になります。
メソッドを呼んで、その戻り値のメソッドをまた呼んで・・・というパターンは良くあるパターンで、3つ以上つなぐこともざらです。
参考URL:http://java.sun.com/j2se/1.3/ja/docs/ja/api/java …
No.1
- 回答日時:
いくつか考えられますが、
packegeの名前を明示してクラスのメンバを指定する場合や、
クラスのメンバであるクラスのメンバを参照する場合などは'.'が続きます。
提示の例だと後者ですね。
Systemのメンバにoutがあり、outのメソッドにprintlnがあり…。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
説明文書でのメソッド・変数の...
-
レコード件数の表示
-
Strutsでチェックボックスの値...
-
変数とフィールドの使い分け
-
javaに"search"という関数 or ...
-
C# 点の描き方をおしえてくだ...
-
System.out.print
-
String.containsの反対機能はあ...
-
C# でメソッドに送られてきたOb...
-
不要なstaticメソッドの見分け...
-
Java初級 引数に適用できません
-
CSVから読み込んだデータの保持...
-
Google Apps Script で getRang...
-
StringBufferからStringへキャ...
-
メソッド宣言の戻り値の型にク...
-
親の親のメソッドを呼ぶには?
-
クラス図→ソース
-
Java初心者です、エラーの意味...
-
javaのstatic や コンテキスト...
-
メインメソッドのstatic
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Java初級 引数に適用できません
-
String.containsの反対機能はあ...
-
レコード件数の表示
-
StringBufferからStringへキャ...
-
C# 点の描き方をおしえてくだ...
-
Google Apps Script で getRang...
-
abstract と static を一緒に付...
-
なぜprotected overrideなのか
-
別クラスのmainメソッドの実行
-
メソッド宣言の戻り値の型にク...
-
メソッドの引数に指定されてい...
-
C言語での文字列より値を抜き出す
-
Strutsでチェックボックスの値...
-
YYYYMMDD書式の日付に対する適...
-
クラスを作るとメソッドの数が...
-
java ジェネリックスに関して
-
C# でメソッドに送られてきたOb...
-
C# 他のnamespaceにあるメソッ...
-
リストボックスの並べ替え (VB...
-
public static void main (Stri...
おすすめ情報