メソッド名と引数が同じメソッドオーバーロードの問題を解決する方法

Java では、メソッド名(メソッドシグネチャ)が同じだが、引数の型や個数が異なる場合をメソッドのオーバーローディングといいます。

  1. メソッドパラメータの型の変更:メソッドパラメータの型を変更して、他のメソッドと区別できます。たとえば、あるメソッドのパラメータが整数である場合、別のメソッドのパラメータは文字列になります。
public void methodName(int num) {
   // 方法实现
}

public void methodName(String str) {
   // 方法实现
}
  1. メソッドの引数の数の変更:メソッドの引数の数を変更することにより、他のメソッドと区別できます。たとえば、あるメソッドは引数を持たず、別のメソッドは2つの引数を持つ場合があります。
public void methodName() {
   // 方法实现
}

public void methodName(int num1, int num2) {
   // 方法实现
}
  1. パラメーターの順番を変えて、メソッド同士を区別することができます。たとえば、あるメソッドに整数と文字列の2つのパラメーターがあり、順序は整数、文字列です。別のメソッドでは、パラメーターは文字列、整数です。
public void methodName(int num, String str) {
   // 方法实现
}

public void methodName(String str, int num) {
   // 方法实现
}
  1. 返り値の型が違う:メソッドのパラメーターが同じでも、返り値の型が異なれば、メソッド名の同名異パラメーター問題を解決できます。
public int methodName(int num) {
   // 方法实现
   return num;
}

public String methodName(int num) {
   // 方法实现
   return String.valueOf(num);
}

メソッドのオーバーロードは、同じクラス内で行われる点に注意する必要があります。オーバーロードしたメソッドは、メソッド名が同一で、同じクラスの内部になければなりません。オーバーロードしたメソッドの識別基準は、メソッドのパラメータの型、数、順序、戻り値の型です。

bannerAds