Java Method Overloading

Оновлено: 22.05.2023

Перевантаження методу

При перевантаженні методів декілька методів можуть мати однакове ім'я з різними параметрами:

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

Розглянемо наступний приклад, який містить два методи, що додають числа різного типу:

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);
}

Замість того, щоб визначати два методи, які повинні робити те саме, краще перевантажити один.

У прикладі нижче ми перевантажуємо метод plusMethod, щоб він працював як з int, так і з double:

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);
}
Примітка: Кілька методів можуть мати однакову назву, якщо кількість та/або тип параметрів відрізняються.