Přetížení metody Java


Přetížení metody

Při přetížení metod může mít více metod stejný název s různými parametry:

Příklad

int myMethod(int x)
float myMethod(float x)
double myMethod(double x, double y)

Zvažte následující příklad, který má dvě metody sčítání čísel různého typu:

Příklad

static int plusMethodInt(int x, int y) {
  return x + y;
}

static double plusMethodDouble(double x, double y) {
  return x + y;
}

public static void main(String[] args) {
  int myNum1 = plusMethodInt(8, 5);
  double myNum2 = plusMethodDouble(4.3, 6.26);
  System.out.println("int: " + myNum1);
  System.out.println("double: " + myNum2);
}

Místo definování dvou metod, které by měly dělat totéž, je lepší jednu přetížit.

V níže uvedeném příkladu přetížíme plusMethod metodu, aby fungovala pro obě int a double:

Příklad

static int plusMethod(int x, int y) {
  return x + y;
}

static double plusMethod(double x, double y) {
  return x + y;
}

public static void main(String[] args) {
  int myNum1 = plusMethod(8, 5);
  double myNum2 = plusMethod(4.3, 6.26);
  System.out.println("int: " + myNum1);
  System.out.println("double: " + myNum2);
}

Poznámka: Více metod může mít stejný název, pokud se počet a/nebo typ parametrů liší.