В чем разница между перегрузкой и замещением метода?



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

Язык программирования Java - лучший выбор, когда дело доходит до . С такими понятиями, как классы , , и т. д., работать с . Легкость доступа и простой синтаксис делают код более эффективным и менее сложным. В этой статье мы узнаем о перегрузке и переопределении методов в Java. В этом блоге обсуждаются следующие темы:

Что такое перегрузка методов в Java?

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





  • Мы не можем перегрузить возвращаемый тип.

  • Хотя мы можем перегрузить , аргументы или входные параметры должны быть разными.



  • Мы не можем перегрузить два метода, если они отличаются только ключевым словом static.

  • Как и другие статические методы, метод main () также может быть перегружен.

перегрузка метода - перегрузка и переопределение метода в java- edureka



Давайте посмотрим на простую программу, чтобы понять, как работает перегрузка методов в Python.

public class Div {public int div (int a, int b) {return (a / b)} public int div (int a, int b, int c) {return ((a + b) / c)} public static void main (String args []) {Div ob = new Div () ob.div (10, 2) ob.div (10, 2, 3)}}
 Вывод: 5 4

В приведенной выше программе у нас есть два метода с одинаковым именем, но разными параметрами. Так работает перегрузка метода в .

Java во власти

Почему метод перегрузки?

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

Перегрузка метода main ():

Ниже приведен пример перегрузки метода main () в java.

открытый класс Edureka {public static void main (String [] args) {System.out.println ('hello') Edureka.main ('edurekan')} public static void main (String arg1) {System.out.println (' welcome '+ arg1) Edureka.main (' welcome ',' to edureka ')} public static void main (String arg1, String arg2) {System.out.println (' hello ', + arg1, + arg2)}}
 Вывод: привет, добро пожаловать, edurekan, привет, добро пожаловать в edureka

Примеры перегрузки метода

  • Программа для перегрузки статических методов в java.
открытый класс Test {public static int func (int a) {return 100} public static char func (int a, int b) {return 'edureka'} public static void main (String args []) {System.out.println ( func (1)) System.out.println (func (1,3))}}
 Вывод: 100 едурека
  • Программа для перегрузки трех методов с одинаковым именем.
public class Add {public int add (int a, int b) {return (a + b)} public int add (int a, int b, int c) {return (a + b + c)} public double add (double a, double b) {return (a + b)} public static void main (String args []) {Add ob = new Add () ob.add (15,25) ob.add (15,25,35) ob .add (11.5, 22.5)}}
 Вывод: 40 75 34

Что такое переопределение методов в Java?

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

Если объект дочернего класса вызывает метод, метод дочернего класса переопределит метод родительского класса. В противном случае, если объект родительского класса вызывает метод, метод родительского класса будет выполнен.

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

class Parent {void view () {System.out.println ('это метод родительского класса)}} class Child extends Parent {void view () {System.out.println (' это метод дочернего класса)}} public static void main (String args []) {Parent ob = new Parent () ob.view () Parent ob1 = new Child () ob1.view ()
 Вывод: это метод дочернего класса

Правила переопределения метода

  • В доступ редактировать может разрешить только больший доступ для переопределенного метода.

  • К окончательный метод не поддерживает переопределение метода.

    кроссбраузерное тестирование в selenium webdriver
  • Статический метод нельзя переопределить.

  • Частные методы нельзя переопределить.

  • Тип возвращаемого значения метода переопределения должен быть таким же.

  • Мы можем вызвать метод родительского класса в методе переопределения, используя ключевое слово super.

  • К строитель не может быть переопределено, потому что дочерний класс и родительский класс не могут иметь конструктор с тем же именем.

Пример замены метода

  • Программа для показа переопределения с использованием ключевого слова super
class Parent {void show () {System.out.println ('метод родительского класса')} class Child extends Parent {void show () {super.show () System.out.println ('метод дочернего класса')} public static void main (String args []) {Parent ob = new Child () ob.show ()}}
 Вывод: метод родительского класса метод дочернего класса

Перегрузка против переопределения: разница между перегрузкой метода и переопределением метода

Ниже приведены ключевые различия между перегрузкой и переопределением методов в Java.

предложение о объединении используется для
Перегрузка метода Переопределение метода
  • Используется для повышения читабельности программы
  • Предоставляет конкретную реализацию метода уже в родительском классе
  • Выполняется в одном классе
  • Он включает в себя несколько классов
  • Параметры должны быть другими при перегрузке
  • В случае отмены параметры должны быть такими же.
  • Пример полиморфизма времени компиляции
  • Это пример полиморфизма времени выполнения
  • Тип возврата может быть другим, но вы также должны изменить параметры.
  • Тип возврата должен быть таким же при переопределении
  • Статические методы могут быть перегружены
  • Переопределение не требует статических методов.

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

Язык программирования Java - это вершина объектно-ориентированного программирования, включающая в себя множество приложений. Учитывая спрос и популярность, начинающий Java-разработчик должен владеть фундаментальными концепциями языка программирования. Запишитесь в Edureka’s чтобы дать толчок вашему обучению.

Есть вопрос к нам? пожалуйста, укажите это в разделе комментариев к этой статье о «перегрузке метода и переопределении метода в java», и мы свяжемся с вами как можно скорее.