- 163 名前:デフォルトの名無しさん mailto:sage [2010/05/07(金) 09:25:20 ]
- >>162
1:反映されません。というよりは、関数内の変数に値がコピーされます。 2:ローカル変数と読んでもいいです。パラメータって普通言うけど。 3:staticは基本的に何度も値を書き込むのに使わないでください。 基本的に定数に使うものです。 返り(戻り)値で済むなら返り値を使ってください。 返り値で済まないなら、状態を持つクラスのインスタンスを渡して、 それに対してメソッド内部で操作を行います。 void method(VOClass vo){ vo.setXXXX("hogehoge"); } クラスを作るのが面倒な時は配列で渡します。 あんまりやらないほうがいいですが。 void method(Object[] o){ o[0] = "hogehoge"; } 4.どうなんでしょう?っていわれてもね、参考書は初学者のためのものだからね。 でもオブジェクトの値渡しするような言語(C++)は、普通に引数にモノを渡すと 一般的にはオブジェクトがコピーされるんで、その理論は通用しません。 どうでもいいですが、Stringのコンストラクタは意味がないどころか 普通はコスト的に有害なので超特別な理由がない限り呼ばないでください。 あとVectorじゃなくて普通はArrayListを使います。 5.Javaには参照渡しはありません。メソッドのオブジェクトを渡した時は、 オブジェクトへの参照がコピられて値渡しされてるだけ。 オブジェクト以外の基本型(プリミティヴ)を 渡した時もその値がコピられて値渡しされてるだけ。 method2はmethod2に渡した引数(オブジェクト)の参照がコピられて method2のvパラメータに設定されているだけ。 参照ってのは32bitのメモリ空間を表す数字ね。
|

|