Несколько методов с одинаковыми именами, но разными аргументами могут быть найдены в одном классе Java благодаря функции, известной как «перегрузка методов».
Перефразируя, можно сказать, что поддержка Java многих методов с одинаковыми именами в одном классе допускает «перегрузку методов», при которой все методы ведут себя по-разному. Термин «перегруженный метод» описывает ситуацию, в которой класс имеет много экземпляров данного метода с одним и тем же именем. Если вы плохо разбираетесь в Java и хотите ускориться, прежде чем продолжить, вы можете пройти курс программирования на Java для начинающих, чтобы освоиться.
Курс Java расширит ваши знания и навыки.
Этот упрощенный пример перегрузки метода может помочь любому понять концепцию.
Давайте представим, что нам нужно запрограммировать способ вычисления квадратного корня из целого числа. Формула этой процедуры выглядит так:
public void intSquare (число int)
{
целый квадрат = число * число;
System.out.printIn("Вызван метод с целочисленным аргументом:"+квадрат);
}
Предположим, мы хотим найти квадрат 10, тогда, чтобы найти квадрат 10, мы можем вызвать этот метод следующим образом:
интервальный квадрат (5);
Теперь, если мы хотим найти Square значения типа double, то мы должны создать еще один метод Square() следующим образом:
public void doubleSquare(двойное число)
{
двойной квадрат = число * число;
System.out.printIn("Вызван метод с двойным аргументом:"+квадрат);
}
Точно так же, если мы хотим найти квадрат значения длинного типа, нам нужно создать еще один метод следующим образом:
public void longSquare (длинное число)
{
длинный квадрат = число * число;
System.out.printIn("Вызван метод с длинным аргументом:"+квадрат);
}
Если мы посмотрим внимательно, чтобы найти квадрат числа только в соответствии с типом данных числа, мы должны взять три имени следующим образом:
intSquare()
двойной квадрат()
длинный квадрат()
Если программист просто должен запомнить одно имя, а программная среда выбирает соответствующий метод на основе типа используемого значения, то задача программирования упрощается. Нет необходимости учить названия многих техник, если вы занимаетесь набором текста. Мы можем использовать одно и то же имя для всех трех описанных выше процедур в Java.
Компилятор Java не выдаст ошибку, если мы предложим просто квадратное имя () вместо предоставления отдельных имен трем вышеприведенным методам и напишем оставшуюся часть описания следующим образом.
общественная пустота Квадрат (внутреннее число)
{
целый квадрат = число * число;
System.out.printIn("Вызван метод с целочисленным аргументом:"+square);
}
площадь общественной пустоты (двойное число)
{
двойной квадрат = число * число;
System.out.printIn("Вызван метод с двойным аргументом:"+square);
}
публичная пустая площадь (длинное число)
{
длинный квадрат = число * число;
System.out.printIn("Вызван метод с длинным аргументом:"+square);
}
Если мы определим эти три метода в классе, то эти методы можно назвать перегруженными методами, поскольку они имеют одно и то же имя. Давайте разработаем класс CalculateSquare, чтобы понять это, а именно:
класс CalculateSquare
{
общественная пустая площадь ()
{
System.out.println("Метод параметра не вызывается");
}
общественный международный квадрат (внутренний номер)
{
целый квадрат = число * число;
System.out.println("Вызван метод с целочисленным аргументом:"+square);
}
общественная плавающая площадь (плавающее число)
{
плавающий квадрат = число * число;
System.out.println("Вызван метод с аргументом float:"+square);
}
public static void main (аргументы String [])
{
CalculateSquare obj = новый CalculateSquare();
объект.квадрат();
объект.квадрат(5);
объект.квадрат(2.5);
}
}
Имейте в виду, что в нашем коде мы не указали никаких параметров в скобках функции Square(). Метод без указанного параметра вызывается классом компилятора для получения аргумента.
Вывод:
Вызов метода без параметров был проигнорирован
Вызывается 25-й метод с целочисленным аргументом
Экземпляр метода с плавающей запятой. Обсуждение вызвано в 6:25.
Перегрузка методов позволяет нам объявлять множество методов с одинаковыми именами внутри класса.
На основе типа данных аргументов методов компилятор Java автоматически выполнит правильный вызов метода для объекта.
Известные институты теперь также предлагают онлайн-курсы по Java.
ПРЕИМУЩЕСТВА ПЕРЕГРУЗКИ МЕТОДОВ
- Перегрузка методов улучшает ясность кода.
- Это дает разработчикам свободу использовать один и тот же подход для обработки самых разных данных.
- Это помогает сохранять код в чистоте и порядке.
- Поскольку привязка выполняется во время компиляции, это ускоряет выполнение.
- Перегрузка метода уменьшает количество шаблонов в программе.
- Благодаря этому мы можем переработать код и не потерять его.
МЕТОДЫ ПЕРЕГРУЗКИ: В ЧЁМ ДЕЛО?
Существует два подхода к перегрузке методов в Java:
- Регулируя количество параметров.
- Путем переклассификации хранимой информации.
Переключить счетчик аргументов:
Ниже приведен пример, содержащий два метода, первый из которых принимает два параметра, а второй — три.
демонстрация класса
{
пустота умножить (int a, int b)
{
System.out.printIn("Результат"+(a*b)) ;
}
пустота умножить (int a, int b, int c)
{
System.out.printIn("Результат"+(a*b*c));
}
public static void main (аргументы String [])
{
Демонстрационный объект = новый Демонстрационный();
объект. умножить (8,5);
объект.множить(4,6,2);
}
}
Выход:
-
Результат 40
Результат 48.
путем изменения типов данных:
В приведенном ниже примере у нас есть два метода, и их типы данных разные.
класс Сумма
{
статический int add (int a, int b)
{
вернуть а+б;
}
статическое двойное добавление (двойное a, двойное b)
{
вернуть а+б;
}
}
класс TestOverloading2
{
public static void main (аргументы String [])
{
System.out.println(Sum.add(17,13));
System.out.println(Sum.add(10.4,10.6));
}
}
Примечание. В этом примере мы создаем статические методы, поэтому нам не нужно создавать экземпляр для вызова методов.
Выход:
30, 21
Вот несколько вещей, о которых следует помнить в отношении методов перегрузки:
- Изменение возвращаемого типа метода не допускает перегрузки.
- Одно из наиболее важных правил перегрузки методов заключается в том, что аргументы двух или более перегруженных методов должны отличаться друг от друга.
Курс разработчика Java даст вам больше информации по теме