В Java существует два типа полиморфизма: перегрузка и переопределение. Перегрузка метода — это один из двух типов полиморфизма.
Например: когда вы просите человека выполнить операцию «найти область», он может спросить вас, какую область вы ищете?
Функциональный полиморфизм означает, что функциям могут передаваться разные сообщения, чтобы объект мог производить соответствующее поведение на основе соответствующих сообщений. Поведение объекта отражается через методы класса, поэтому полиморфизм поведения заключается в перегрузке методов.
Синтаксические правила для перегрузки методов:
Перегрузка метода означает, что в классе может быть несколько методов с одинаковым именем, но параметры этих методов должны быть разными. Либо количество параметров разное, либо количество параметров одинаковое, но тип соответствующего параметра в списке параметров другой.
Например:
classPeople{floathello(inta,intb){returna+b;}floathello(longa,intb){returna-b;}doublehello(doublea,intb){returna*b;}}publicclassMain{publicstaticvoidmain(Stringargs[]){Peopletom= newPeople();System.out.println(tom.hello(10,10));System.out.println(tom.hello(10L,10));System.out.println(tom.hello(10.0,10));System.out.println(tom.hello(10.0,10) );}}
Результаты бега следующие:
20.00.0100.0
Уведомление:
Если два метода имеют одинаковое имя, параметры должны быть разными, даже если типы возвращаемых значений разные.