Перегрузка метода (method overloading) в Java - это возможность определения нескольких методов с одним и тем же именем, но с разными параметрами. Компилятор определяет, какой из перегруженных методов нужно вызвать на основе типов аргументов, переданных в вызове.
При определении перегруженных методов важно учитывать следующие правила:
- Имена методов должны быть одинаковыми.
- Число и тип параметров должны отличаться.
- Тип возвращаемого значения может отличаться, но это не является обязательным условием.
Например, рассмотрим следующий код для класса Calculator:
public class Calculator {
public int add(int a, int b) {
return a + b;
}
public double add(double a, double b) {
return a + b;
}
}
В этом примере мы определили два метода add с одним и тем же именем, но с разными параметрами. Первый метод принимает два целых числа и возвращает их сумму, второй метод принимает два числа с плавающей точкой и также возвращает их сумму.
При вызове метода add компилятор будет определять, какой метод нужно использовать, основываясь на типах аргументов. Например, если мы вызываем метод add с двумя целыми числами:
Calculator calc = new Calculator();
int sum = calc.add(2, 3);
то будет использован первый метод, который принимает два целых числа и возвращает целое число.
Если бы мы вызывали метод add с двумя числами с плавающей точкой:
Calculator calc = new Calculator();
double sum = calc.add(2.5, 3.7);
то был бы использован второй метод, который принимает два числа с плавающей точкой и возвращает число с плавающей точкой.
Перегрузка метода позволяет программистам создавать более гибкий и удобный интерфейс для работы с классом, позволяя использовать одно имя метода для различных операций с разными типами данных.
1606 вопрос-ответ по Java: https://github.com/DEBAGanov/interview_questions
Tелеграмм канал: https://t.me/DEBAGanov
Мое резюме: https://github.com/DEBAGanov