public int getValue(); と public int getValue(boolean flag);です。
int value = obj.getValue(); value = obj.getValue(true);そうすると、「obj.getValue()」は、引数が無しの為、「getValue()」が呼ばれ、「obj.getValue(true)」は 「getValue(boolean)」が呼ばれます。
| Sample7_2_1.java |
|---|
// テスト用計算機
class TestCal {
// 引数が空、1を返す
public int add() {
System.out.print("add()");
return 1;
}
// 引数が1つでint型、データに1を足して返す
public int add(int data) {
System.out.print("add(int)");
return data + 1;
}
// 引数が1つでdouble型、データに0.5を足して返す
public int add(double data) {
System.out.print("add(double)");
return (int) (data + 0.5);
}
// 引数が2つでint型及びint型、データ1にデータ2を足して返す
public int add(int data1, int data2) {
System.out.print("add(int, int)");
return data1 + data1;
}
// 引数が2つでint型及びdouble型、データ1にデータ2を足して返す
public int add(int data1, double data2) {
System.out.print("add(int, double)");
return data1 + (int) data2;
}
}
public class Sample7_2_1 {
public static void main(String[] args) {
TestCal obj = new TestCal();
System.out.println(":" + obj.add());
System.out.println(":" + obj.add(10));
System.out.println(":" + obj.add(10.0));
System.out.println(":" + obj.add(10, 10));
System.out.println(":" + obj.add(10, 10.0));
}
} |
add():1 add(int):11 add(double):10 add(int, int):20 add(int, double):20 |
public int getValue(); public String getValue();これは、同じメソッド名でどちらとも引数が無しに宣言されている為です。
| Sample7_2_2.java |
|---|
// 改良版計算機
class ImprovementCal {
// 引数が2つでint型及びint型、データ1にデータ2を足して返す
public int add(int data1, int data2) {
System.out.print("add(int, int)");
return data1 + data1;
}
// 引数が2つでint型及びdouble型、データ1にデータ2を足して返す
public double add(int data1, double data2) {
System.out.print("add(int, double)");
return data1 + data2;
}
// 引数が2つでdouble型及びdouble型、データ1にデータ2を足して返す
public double add(double data1, double data2) {
System.out.print("add(double, double)");
return data1 + data2;
}
}
public class Sample7_2_2 {
public static void main(String[] args) {
ImprovementCal obj = new ImprovementCal();
System.out.println(":" + obj.add(10, 10));
System.out.println(":" + obj.add(10, 10.5));
System.out.println(":" + obj.add(10.5, 10.5));
}
} |
add(int, int):20 add(int, double):20.5 add(double, double):21.0 |
public int add(int data1, int data2); public double add(double data1, double data2);●メソッド名で区別の場合
public int addToInt(int data1, int data2); public int addToDouble(double data1, double data2);メソッド名又はオーバーロードのどちらがいいのかですが、これはケースバイケースです。