図Prog9_4_㏛cは「参照渡しの引数を使うメソッド: 色々な場所にあるデータとメソッド」の説明のための例である。このプログラムの最後にコメントで実行結果が示されています。
図Prog9_4_srcで注目すべきことは、このソースプログラムには二つのクラスが宣言されていることであります。一つはクラスD、もう一つはProg9_4である。今回の主なテーマは別のクラスにある配列とメソッドを扱うことです。クラスDにはdという配列と、メソッドgがある。例えば、これらを別のクラスProg9_4から使うことです。このクラスProg9_4には配列bがあり、またメソッドfがある。これらもProg9_4の中にあるmainから使うことにします。
図Prog9_4_srcについて:
3行:クラスDの中の配列dの定義:
4から8行:クラスDの中のメソッドgの定義
3番目の引数は配列であります。このメソッドは配列のデータの和を計算して返しています。
11行: クラスProg9_4の中の配列bの定義:
12から16行:メソッドfの定義:
3番目の引数は配列です。このメソッドは配列のデータの和を計算して返しています。これはgと全く同じである。
17から25行:メソッドmainの定義
18行 mとnの定義と初期化
19 行 配列aが定義され、初期化されています。
20 行 メソッドfが配列aを引数として呼ばれています。fでは配列のデータを計算して返し、20行で表示しています(45)。
21行 mainにある配列aのデータをmainの外にあるが、クラスProg9_4内にある配列bと別のクラスD内にある配列dにコピーしています。配列dはクラスProg9_4外にあるので、D.dで指定しなければなりません。つまり、クラス名.配列名となります。
22行 クラスD内にあるメソッドgをD.gにより読んでいます。クラス外のメソッドであるからです。
24行 D内にあるメソッドgをD.gにより、さらに配列dをD.dにより使用しています。つまり、クラス外にあるメソッドも配列(或いは変数)もそのクラス名を付けて指定しなければなりません。