6.メソッド2006.10.18 株式会社四次元データ 西谷太郎
Java入門 6章 メソッド
この章では、クラス、インスタンスの「機能」の部分を担うメソッドについて説明します。
6.1. メソッドとはメソッドとはクラスまたはインスタンスのもつ機能や操作のことです。メソッドがすることは、
メソッドの宣言は次の通り。
修飾子 返り値の型 メソッド名(データ型1 引数名1,データ型2 引数名2, ・・・・・・){
メソッド内部の処理
}
修飾子はフィールドと同じく、public、private などをとります。
public class Human{
private String name = null;
private int age = -1;
public String getName(){
return name;
}
public void setName(String name){
this.name = name;
}
}
さらに、getAge、setAge、そしてその人の名前と年齢を文字列として一度に返すtoString()も実装しておきます。
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String toString() {
return "名前は" + name + "さんです。年は" + age + "歳です。";
}
6.2. 内部で行っていること
setName(String name) メソッドは、String 型の引数を name という引数名で受け取り、自身のインスタンスの変数 name に渡された引数の値を代入しています。
注意! 6.3. オーバーローディング
ここでは使用していませんが、オブジェクト指向においてポリモーフィズムの実現に重要な役割を担っているオーバーローディングについても簡単に説明しておきましょう。
public String getName(){ //…(ア)
メソッド内処理 A
}
public String getName(int a, boolean b){ //…(イ)
メソッド内処理 B
}
同じクラスの中で上のように2つのメソッドを定義したとします。
getName();
の様に呼ぶと、引数が無いので自動的に(ア)が選ばれ、メソッド内処理 A が実行されます。
getName(3, false);
の様に呼ぶと、第一引数が int 型、第二引数が boolean 型であるため、自動的に(イ)が選ばれ、メソッド内処理 B が実行されます。
methodA(int a, boolean b)
methodA(boolean b, int a)
なら、並び順が違うので定義できます。
methodA(int a, boolean b)
methodA(int c, boolean d)
は、引数名が違うだけで、メソッド名、引数の型、数、並び順すべて同じですのでコンパイルエラーになります。 |
![]()
![]()
|