dポイントプレゼントキャンペーン実施中!

独学でJavaを学んでいるのですが、キーボードからの入力を可能にする構文の意味がよくわかりません。
その構文というのは

BufferedReader br = new BufferedReader(new InputStreamReader(System.in))

なのですが、以下の意味理解で間違えていないでしょうか?


【構文としての意味】
Systemクラスのプロパティのinを仮引数にするInputStreamReaderクラスのメモリ領域を確保します。そしてそのメモリ領域を仮引数にするBufferedReaderクラスのメモリ領域を確保します。そしてそのメモリ領域をBurredReaderクラスの変数brに代入します。

【ストリームとしての意味】
標準入力はストリームの内、文字ストリームを通ります(選択します)。その時、バッファを介します。


多分間違っているかと思うのですが、もし修正してくださるのであれば、初心者にもわかル用に教えていただけると幸いです。
ちなみに私は「やさいいJava」をとりあえず読み終わった感じのレベルです。

A 回答 (2件)

>インスタンスの生成=メモリ領域の確保ではないのですか?



違います。メモリ領域の確保は、インスタンス生成の中の1工程に過ぎません。
    • good
    • 0

なんか理解がおかしいですね。

入門の入り口を間違えたのかも。
>【構文としての意味】
Systemクラスのスタティック変数(クラス変数)のinを実引数にして、InputStreamReaderクラスのインスタンスを生成します。その生成したインスタンスを実引数にして、BufferedReaderクラスのインスタンスを生成してそのリファレンスを、BufferedReaderクラスとして宣言された変数brに代入します。

new はメモリ領域の確保じゃなくて、インスタンス(オブジェクト)の生成です。
仮引数という言葉も間違って理解しています。

実行的な意味:
システムの標準入力を文字ストリームとして使い、それにバッファを経由してアクセスする準備をします。
以降で、brの読み込みメソッドを実行すると標準入力からバッファリングしながら文字として読み取れます。

この回答への補足

>>new はメモリ領域の確保じゃなくて、インスタンス(オブジェクト)の生成です。

インスタンスの生成=メモリ領域の確保ではないのですか?

補足日時:2011/05/07 21:47
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!