Перегрузка методов в Java [с примерами]

Опубликовано: 2020-11-12

Java — это универсальный язык, который следует концепциям объектно-ориентированного программирования. Многие особенности объектно-ориентированного программирования делают код модульным, многоразовым, гибким и простым в отладке. Есть много особенностей объектно-ориентированного программирования, таких как наследование, полиморфизм, инкапсуляция и абстракция.

В этой статье мы обсудим перегрузку методов в Java , которая является типом полиморфизма.

Оглавление

Полиморфизм

Полиморфизм означает способность проявляться в различных формах. Это позволяет одному и тому же методу демонстрировать различное поведение, используя разные методы. Существует два типа полиморфизма: перегрузка метода и переопределение метода. Перегрузка метода означает, что несколько методов имеют одно и то же имя, но разные аргументы.

Научитесь создавать приложения, такие как Swiggy, Quora, IMDB и другие.

Переопределение метода означает, что дочерний класс может иметь метод с тем же именем, что и у родительского класса, но с другой реализацией. В этой статье мы обсудим перегрузку методов более подробно. Для переопределения метода вы можете посетить upGrad и получить информацию.

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

Перегрузка методов в Java — одна из самых полезных функций объектно-ориентированного языка. Это позволяет классу иметь несколько методов с одним и тем же именем. Единственная разница, которую имеют эти методы, заключается в другом списке параметров, которые передаются через эти методы.

Это можно понять простыми словами на простом примере. Добавление класса имеет два метода с именами add(), один метод имеет параметры int a и int b, а другой имеет три целочисленных параметра, т. е. int a, int b и int c. Поэтому говорят, что метод add() перегружен.

Метод, который будет выполнен, будет зависеть от количества параметров, переданных в операторе вызова метода. Для иллюстрации add(20,30) вызовет метод add() с двумя параметрами, а add(10,20,30) вызовет метод add с тремя параметрами.

Различные способы перегрузки метода

Перегрузка методов в Java может быть достигнута разными способами. Как мы поняли, именно список параметров отличает два метода с одинаковым именем в Java. Различные способы перегрузки методов в Java могут быть достигнуты путем изменения списка параметров одним из следующих способов:

  1. Количество параметров
  2. Тип данных параметров
  3. Последовательность параметров типа данных

Количество параметров

Как видно из названия, в перегруженных методах будет разное количество параметров, которые будут решать, какой метод выполнять, видя оператор вызова метода. Ниже приведена перегрузка метода в Java , где количество параметров варьируется.

Метод 1: добавить (целое, целое)

Метод 2: добавить (int, int, int)

Оператор вызова метода add(20,30) выполнит метод1, а оператор вызова метода add(10,20,30) выполнит метод2.

Тип данных параметров

В этом типе перегрузки метода в Java два java-метода класса имеют одно и то же имя, а количество параметров может быть одинаковым или разным, но тип данных параметров будет отличаться.

Метод 1: добавить (целое, целое)

Метод 2: добавить (целое число, число с плавающей запятой)

Метод 3: добавить (с плавающей запятой, с плавающей запятой)

В приведенных выше методах имя метода одинаковое, но тип данных параметров разный. Таким образом, оператор вызова метода add(2, 5.5) выполнит метод method2. Точно так же add(7.5, 10.25) выполнит метод3.

Последовательность параметров типа данных

В этом типе перегрузки метода в Java и имя метода, и количество параметров одинаковое, но разница заключается в последовательности типов данных этих параметров. Ниже приведен пример перегруженных методов:

Метод 1: добавить (целое число, число с плавающей запятой)

Метод 2: добавить (с плавающей запятой, целое число)

Здесь вызов оператора add(100, 75.5) вызовет метод1 для выполнения, а add(55.25, 150) выполнит метод2.

Следовательно, именно параметры в вызывающем операторе определяют, какой перегруженный метод будет выполнен.

Читать: Перегрузка методов в Java

Зачем нужна перегрузка методов в Java?

Если программист создал метод на Java для выполнения какого-то действия, но позже в рамках требования программист хочет, чтобы один и тот же метод воздействовал на другие параметры, то кодер может просто использовать функцию перегрузки методов в Java . Это позволит программисту создавать методы выполнения похожих функций с одинаковыми именами, чтобы потом не приходилось запоминать названия.

Давайте узнаем о преимуществах перегрузки методов в Java.

Преимущества выполнения перегрузки метода в Java

Ниже приведены некоторые преимущества перегрузки методов в Java :

  • Это улучшает читаемость написанного кода.
  • Это добавляет чистоты написанному коду.
  • Его также можно использовать в конструкторах, чтобы мы могли создавать разные объекты, передавая разные данные.
  • Это дает программистам возможность вызывать разные методы с одинаковыми именами.
  • Перегруженные методы могут возвращать разные типы.

Обязательно к прочтению: Карьера в Java

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

  • Первое правило — изменить сигнатуру метода. Сигнатура метода относится к количеству аргументов, последовательности параметров и типу данных параметров.
  • Если мы изменим только возвращаемый тип метода, сохранив имя метода и аргументы прежними, то это не будет перегрузкой метода, а вызовет ошибку компиляции.

Важные моменты о перегрузке методов в Java

  • Любой код, написанный на Java, не может иметь методы с одинаковыми именами. Если мы создадим 2 метода с одинаковым именем в Java, это вызовет ошибку компиляции.
  • Этого можно добиться путем перегрузки методов. Перегрузка методов позволяет программистам писать два или более методов с одинаковыми именами, но разными списками параметров.
  • Перегрузка методов в Java аналогична перегрузке конструкторов. Единственная разница заключается в том, что перегрузка метода происходит для методов, определенных в классе, а перегрузка конструктора — для методов конструктора класса.
  • При перегрузке методов в Java перегруженные методы имеют другой список параметров. Это не имеет ничего общего с возвращаемым типом метода. Например; если два метода имеют одно и то же имя и один и тот же список параметров, но разные типы возвращаемых значений, то это не перегрузка метода в Java , а недопустимый случай.

Способ 1 : int Add (с плавающей запятой, с плавающей запятой)

Способ 2 : добавить с плавающей запятой (с плавающей запятой, с плавающей запятой)

Это недопустимый случай перегрузки метода, поскольку оба метода Add() имеют одинаковое имя и одинаковый список параметров.

Ниже приведен код, объясняющий перегрузку метода в Java:

Сумма класса{

частный вход;

частный интервал б;

частный интервал с;

частный интервал д;

int public add (int a, int b) {

интервал с;

с=а+б;

возврат с;

}

int public add (int a, float b) {

интервал с;

с=а+б;

возврат с;

}

int public add (с плавающей запятой a, с плавающей запятой b) {

интервал с;

с=а+б;

возврат с;

}

int public add (с плавающей запятой a, int b, int c) {

инт д;

г=а+b+с;

возврат д;

}

}

Public static void main (String[]args)

{

// Создание объекта класса в основном методе

сумма obj1 = новая сумма();

сумма1=объект1.добавить(10,20);

сумма2=obj1.добавить(10,55,5);

sum3=obj1.добавить(110,5,25,5);

sum4=obj1.добавить(10,20,30);

}

Читайте также: Шаблоны программ на Java

Заключение

В этой статье подробно обсуждалась перегрузка методов в Java , объяснялись ее типы, правила и преимущества. Тема была подробно объяснена с помощью примеров. Дайте нам знать в комментариях, если у вас есть сомнения относительно перегрузки в Java.

Если вам интересно узнать больше о Java, разработке программного обеспечения с полным стеком, ознакомьтесь с дипломом PG upGrad & IIIT-B по разработке программного обеспечения с полным стеком, который предназначен для работающих профессионалов и предлагает более 500 часов интенсивного обучения, 9+ проектов. и задания, статус выпускника IIIT-B, практические практические проекты и помощь в трудоустройстве в ведущих фирмах.

Получите работу своей мечты

ДИПЛОМ PG UPGRAD И IIIT-BANGALORE В РАЗРАБОТКЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
Узнать больше