Was ist der Unterschied zwischen Methodenüberladung und Überschreiben?



Dieser Artikel behandelt die wichtigsten Unterschiede zwischen dem Überladen und Überschreiben von Methoden in Java anhand verschiedener Beispiele, einschließlich des Super-Schlüsselworts und verschiedener Regeln.

Java-Programmiersprache ist die beste Wahl, wenn es darum geht . Mit Konzepten wie Klassen , , usw. wird es extrem einfach, damit zu arbeiten . Einfacher Zugriff und einfache Syntax machen den Code effizient und weniger komplex. In diesem Artikel erfahren Sie mehr über das Überladen und Überschreiben von Methoden in Java. Im Folgenden werden die in diesem Blog behandelten Themen aufgeführt:

Was ist Methodenüberladung in Java?

Durch das Überladen von Methoden kann die Methode denselben Namen haben, der sich aufgrund von Argumenten oder Argumenttypen unterscheidet. Dies kann mit dem Polymorphismus zur Kompilierungszeit zusammenhängen. Im Folgenden finden Sie einige Hinweise, die Sie beim Überladen von Methoden in Java berücksichtigen müssen.





  • Wir können einen Rückgabetyp nicht überladen.

  • Obwohl wir überladen können müssen die Argumente oder Eingabeparameter unterschiedlich sein.



  • Wir können zwei Methoden nicht überladen, wenn sie sich nur durch ein statisches Schlüsselwort unterscheiden.

  • Wie andere statische Methoden kann auch die main () -Methode überladen werden.

Methodenüberladung - Methodenüberladung und -überschreibung in Javaedureka



Schauen wir uns ein einfaches Programm an, um zu verstehen, wie das Überladen von Methoden in Python funktioniert.

öffentliche Klasse 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)}}
 Ausgabe: 5 4

Im obigen Programm haben wir zwei Methoden mit demselben Namen, aber unterschiedlichen Parametern. So funktioniert das Überladen von Methoden .

Warum Methodenüberladung?

Der Hauptvorteil der Methodenüberladung in Java besteht darin, dass wir die Freiheit haben, eine Funktion nicht immer wieder zu definieren, um dasselbe zu tun. Im folgenden Beispiel führen die beiden Methoden im Wesentlichen eine Division durch, sodass wir unterschiedliche Methoden mit demselben Namen, aber unterschiedlichen Parametern verwenden können. Es hilft auch beim Polymorphismus zur Kompilierungszeit.

Überladen der main () -Methode:

Im Folgenden finden Sie ein Beispiel zum Überladen der main () -Methode in Java.

öffentliche Klasse Edureka {public static void main (String [] args) {System.out.println ('hallo') 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 (' hallo ', + arg1, + arg2)}}
 Ausgabe: hallo willkommen edurekan hallo, willkommen bei edureka

Beispiele für Methodenüberladung

  • Programm zum Überladen statischer Methoden in Java.
öffentliche Klasse 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))}}
 Ausgabe: 100 edureka
  • Programm zum Überladen von drei Methoden mit demselben Namen.
öffentliche Klasse 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)}}
 Ausgabe: 40 75 34

Was ist das Überschreiben von Methoden in Java?

Die Vererbung in Java beinhaltet eine Beziehung zwischen Eltern- und Kinderklassen. Immer wenn beide Klassen Methoden mit demselben Namen und denselben Argumenten oder Parametern enthalten, ist es sicher, dass eine der Methoden die andere Methode während der Ausführung überschreibt. Die Methode, die ausgeführt wird, hängt vom Objekt ab.

Wenn das untergeordnete Klassenobjekt die Methode aufruft, überschreibt die untergeordnete Klassenmethode die übergeordnete Klassenmethode. Andernfalls wird die übergeordnete Klassenmethode ausgeführt, wenn das übergeordnete Klassenobjekt die Methode aufruft.

Das Überschreiben von Methoden hilft auch bei der Implementierung des Laufzeitpolymorphismus in Java. Nehmen wir ein einfaches Beispiel, um zu verstehen, wie das Überschreiben von Methoden in Java funktioniert.

Klasse Parent {void view () {System.out.println ('Dies ist eine übergeordnete Klassenmethode)}} Klasse Child erweitert Parent {void view () {System.out.println (' Dies ist eine untergeordnete Klassenmethode)}} public static void main (String args []) {Parent ob = new Parent () ob.view () Parent ob1 = new Child () ob1.view ()
 Ausgabe: Dies ist eine untergeordnete Klassenmethode

Regeln zum Überschreiben von Methoden

  • Das Zugriff bearbeiten kann nur mehr Zugriff für die überschriebene Methode zulassen.

  • ZU Finale Die Methode unterstützt kein Überschreiben von Methoden.

  • Eine statische Methode kann nicht überschrieben werden.

  • Private Methoden können nicht überschrieben werden.

  • Der Rückgabetyp der überschreibenden Methode muss identisch sein.

  • Wir können die übergeordnete Klassenmethode in der überschreibenden Methode mit dem Schlüsselwort super aufrufen.

  • ZU Baumeister kann nicht überschrieben werden, da eine untergeordnete Klasse und eine übergeordnete Klasse den Konstruktor nicht mit demselben Namen haben können.

Beispiel zum Überschreiben von Methoden

  • Programm zum Anzeigen des Überschreibens mit dem Schlüsselwort super
Klasse Parent {void show () {System.out.println ('übergeordnete Klassenmethode')} class Child erweitert Parent {void show () {super.show () System.out.println ('child class method')} public statische Leere main (String args []) {Parent ob = new Child () ob.show ()}}
 Ausgabe: übergeordnete Klassenmethode untergeordnete Klassenmethode

Überladen vs. Überschreiben: Unterschied zwischen Methodenüberladung und Methodenüberschreibung

Im Folgenden sind die wichtigsten Unterschiede zwischen dem Überladen von Methoden und dem Überschreiben in Java aufgeführt.

Methodenüberladung Überschreiben der Methode
  • Es wird verwendet, um die Lesbarkeit des Programms zu verbessern
  • Bietet eine spezifische Implementierung der Methode, die sich bereits in der übergeordneten Klasse befindet
  • Es wird innerhalb derselben Klasse durchgeführt
  • Es umfasst mehrere Klassen
  • Bei Überlastung müssen die Parameter unterschiedlich sein
  • Die Parameter müssen beim Überschreiben gleich sein
  • Ist ein Beispiel für Polymorphismus zur Kompilierungszeit
  • Es ist ein Beispiel für Laufzeitpolymorphismus
  • Der Rückgabetyp kann unterschiedlich sein, Sie müssen jedoch auch die Parameter ändern.
  • Der Rückgabetyp muss beim Überschreiben identisch sein
  • Statische Methoden können überladen werden
  • Das Überschreiben erfordert keine statischen Methoden.

In diesem Blog haben wir das Überladen von Methoden und das Überschreiben von Methoden ausführlich besprochen. Unter Einbeziehung von Klassen, Objekten und Konzepten wie Vererbung und Polymorphismus wird es ziemlich wichtig, eine klare Vorstellung davon zu bekommen, was es bedeutet, Methoden in Java zu überladen oder zu überschreiben.

Überladen und Überschreiben in Java

Die Programmiersprache Java ist ein Höhepunkt in der objektorientierten Programmierung und enthält viele Anwendungen. Angesichts der Nachfrage und Popularität muss ein aufstrebender Java-Entwickler die grundlegenden Konzepte der Programmiersprache beherrschen. Melden Sie sich bei Edureka an um dein Lernen anzukurbeln.

Hast du eine Frage an uns? Bitte erwähnen Sie dies im Kommentarbereich dieses Artikels zum Thema 'Methodenüberladung vs. Methodenüberschreibung in Java'. Wir werden uns so schnell wie möglich bei Ihnen melden.