Перегрузка методов
Часть раздела Основы путешествия по Java на Coddy. Урок 54 из 73.
В Java перегрузка методов позволяет определить несколько методов с одним и тем же именем, но с разными параметрами. Это означает, что у тебя может быть несколько методов, выполняющих похожую функцию, но работающих с разными типами данных или разным количеством аргументов.
Ключ заключается в том, что каждый перегруженный метод должен иметь уникальную сигнатуру метода. Сигнатура метода определяется его именем, а также типом и порядком его параметров.
Вот основные правила перегрузки методов:
- Одинаковое имя: Все перегруженные методы должны иметь одинаковое имя.
- Разные параметры: Каждая версия метода должна иметь другое количество параметров, другие типы параметров или и то, и другое.
- Тип возвращаемого значения недостаточен: перегруженные методы не могут различаться только типом возвращаемого значения. У них должны быть разные списки параметров.
Вот пример, иллюстрирующий перегрузку методов:
public class MathUtils {
public static int add(int a, int b) {
return a + b;
}
public static double add(double a, double b) {
return a + b;
}
public static int add(int a, int b, int c) {
return a + b + c;
}
}В этом примере у нас есть три метода с именем add. Первый складывает два целых числа, второй складывает два числа двойной точности, а третий складывает три целых числа.
Java определяет, какой метод вызвать, на основе аргументов, переданных во время вызова метода.
Перегрузка методов делает код более читаемым и повторно используемым. Вместо создания разных имён для методов, выполняющих похожие задачи (например, addInts, addDoubles, addThreeInts), можно использовать одно имя — add, — и позволить компилятору выбрать подходящий метод в зависимости от контекста.
Помните: перегрузка требует разных типов или количества параметров, а не только разных имён параметров или типов возвращаемого значения.
Попробуйте сами
В этом уроке нет задания по программированию.
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Операторы. Часть 1
Арифметические операторыОператор остатка от деленияИнкремент/декрементПостфиксный инкремент/декрементСокращённые арифметические операцииОператоры сравненияСравнение строк7Основы ввода-вывода
Методы System.outФорматирование выводаКласс ScannerПовторение — до 120Повторение — истина или ложь10Методы (функции)
Объявление методовПараметры методовТипы возвращаемых значенийПерегрузка методовПовторение — функция SigmaПовторение — функция валидацииМетоды void5Операторы. Часть 2
Логические операторы. Часть 1Логические операторы. Часть 2Повторение — простая логикаЛогические операторы. Часть 3Логические операторы. Часть 43Переменные. Часть 2
КонстантыСоглашения об именованииПовторение — инициализация переменныхПриведение типов. Часть 1Приведение типов. Часть 26Принятие решений
Оператор IfIf — ElseОператор SwitchТернарный операторПовторение: If — ElseВложенный If — Else9Циклы
Цикл for. Часть 1Цикл whileЦикл do whileBreakContinueЦикл for. Часть 2Вложенный циклБесконечный циклПовторение — динамический ввод12Итерация по массивам
Использование цикла forРасширенный цикл forРаспространённые операции с массивамиПотренируйтесь самостоятельно: Онлайн-компилятор Java