Awesome Hacks!

プログラミング初心者なので地道に勉強していきます。分からない人の立場から整理していきます。

Java_インスタンスについて複数のメソッドで操作(値渡し・参照渡し的な話)

備忘録。
 
今までC言語メインでやってきて、最近Javaをやりだしたが、
インスタンスの操作がうまくいかなくて躊躇した。
 
というのは、AクラスとBクラスがあったとして、Aクラスのインスタンスについて
Bクラスの複数メソッドで操作したかったが、
Bクラスのメソッドに引数で毎回渡してもインスタンスを操作できなかった。
というより、次のBクラスのメソッド処理時のAクラスのインスタンスに、
前のBクラスのメソッドでAクラスのインスタンスに対して処理した結果が
反映されていない状態で渡された。

下記サイトによると、どうやらJavaでは値渡ししかできない様子だ。
※「値渡ししかできない」という表現については賛否両論あるようだが、
C言語をやってきた自分からしてみたら「値渡ししかできない」という認識。
 
【Java初心者】参照渡しのまとめ - Qiita
参照渡し
値渡しと参照渡しと矢切の渡し
Javaの動かないコード(初級編) メソッド引数の 「参照のコピー渡し」を理解していない - 主に言語とシステム開発に関して
 
 
勘のいい人はこんなことにつまずかずに、単純にBクラスのメンバ変数にAクラスの
インスタンスを格納して、その後は(毎回Bクラスのメソッドの引数にAクラスの
インスタンスを渡すことなく)Bクラスのメンバ変数に格納したインスタンス
対して処理を行ったであろうが。。。。
 
自分のセンスの無さが悔やまれる。