Перегрузка методов в Java

Facebooktwittergoogle_plustumblrFacebooktwittergoogle_plustumblr

Перегрузка методов в Java_vertex

Данная статья:

  • написана командой Vertex Academy. Надеемся, что она Вам будет полезна. Приятного прочтения!
  • это одна из статей из нашего "Самоучителя по Java"

 

Давайте проведем эксперимент

Представим, что у нас есть такой код, в котором есть два метода с одинаковым названием:

Как Вы видите, тут есть два конструктора (если впервые слышите слово "конструктор", Вам следует почитать статью "Конструкторы в Java").  У них разные параметры, но называются они одинаково. У Вас выдает ошибку?

Нет.

Почему?

Дело в том, что у Java есть одна особенность - она позволяет производить перегрузку методов. Перегрузка методов - это возможность создавать несколько методов с одинаковым названием, но разными параметрами. Не все языки программирования позволяют это делать. Перегрузка методов - это часть такой составляющей ООП, как полиморфизм. (Если Вы не знаете, что такое ООП и полиморфизм - вернитесь к этой статье).

Обратите внимание: если Вы захотите создать два метода с одинаковым названием, которые будут требовать одни и те же параметры, возникнет ошибка.

Зачем?

Вот, есть у меня в программе один метод print или один конструктор Dog. Зачем мне еще один?

Дело в том, что перегрузка методов выполняет несколько функций:

1. Вы можете создать несколько конструкторов - с одним, двумя параметрами, и вообще без параметров. Программа будет выбирать тот, который подходит под заданные параметры. Например:

Предположим, Вы еще не знаете имя первого кота и его породу. А для второго - только имя. В такой ситуации, несколько конструкторов дают возможность сделать все аккуратно и красиво 🙂

2. В первом примере мы говорили о конструкторах. Но то же самое применимо и к обычным методам. Одним из главных плюсов является то, что Вам не нужно запоминать названия кучи методов, выполняющих похожую функцию.  Представим, что мы хотим создать метод "add", общий для всех типов. У нас есть int, double и String:

Теперь, мы хотим создать общий для всех метод "add". Он будет выглядеть так:

 Применим наш метод и выведем результат на экран:

 Должно получиться следующее:

  • 200
  • 2.2
  • vertexvertex

Как Вы видите, благодаря перегрузке методов мы можем запомнить один метод - add - и с помощью него выполнить 3 операции. Будь это другой язык программирования, который не поддерживает перегрузку, необходимо было бы создать (и запомнить) методы addInt, addDouble и, например, addStr. И так с каждой операцией!

Подводя итог

Теперь Вы знаете, что такое перегрузка методов в Java и зачем она нужна - чтобы облегчить Вам жизнь.

Удачи!


Данная статья написана Vertex Academy. Будем рады видеть Вас у нас на курсах Java. Детальнее на сайте.

Facebooktwittergoogle_plustumblrFacebooktwittergoogle_plustumblr

Facebooktwittergoogle_plustumblrFacebooktwittergoogle_plustumblr
Самоучители--узнать детальнее--