引数と配列

ファイルはzipフォルダに納められています。
解凍ソフト(Aladdin Expander等)を使って解凍して下さい。

引数として配列を渡す

引数として変数やオブジェクトがメソッド側に渡された時は、メソッド側で用意された仮引数(別のローカル変数)にコピーされました。
此が配列の場合では、少し事情が異なります。
配列の場合はコピーされるのではなく、メソッド側では同じ領域に独自に名前を付け、同じ場所を参照するのです。
メソッド側の独自の名前が仮引数になります。

配列への書き込み

引数として配列を指定した場合、呼び出し側とメソッド側で同じ領域にアクセスする事になる為、メソッド側から呼び出し側の領域にデータを書き込めます。
但しメソッド側は、仮引数としてメソッド側で用意した配列名を使います。
仮引数として別の配列を指定しメソッドを呼び出すと、メソッドはそれぞれの配列を対象に処理を行います。

メソッドの所属

今迄利用して来たメソッドは、全て何処かのクラスに所属していました。
例えば「setColor」や「drawLine」はGraphicsクラスに所属するメソッドです。
又、Colorクラスに所属する「equals」メソッドも使いました。
其れでは、ユーザ定義メソッドはどのクラスに所属するのでしょうか?
其れは其のメソッドが書かれているクラスに所属します。
下の例では「method」は「クラスA」の中に書かれているので、「クラスA」に所属している事になります。

public class A{
        :
        :
        
        void method(int x){
        :
        }
        :
        :
        
}

呼び出し側が所属するクラスと、メソッドが所属するクラスが同じで有る時、クラス名のオブジェクト名は省略します。

public class A{
        :
    public void paint(Graphics g){
        :
        g.drawLine(・・・);
        :
        method(10){
        :
        }
    void method(int x){
        :
        }
}

メソッドは、同じ名前でも所属するクラスが異なれば、全く違う物になります。
丁度、同じ名前のファイルが有っても入っているフォルダが違えば、違う物になるのと同じです。

ソース ダウンロード
HouseMethod.java House06.zip
HouseMethod2.java

戻る