Wat is het verschil tussen Method Overloading en Overriding?



Dit artikel behandelt de belangrijkste verschillen tussen overbelasting en overschrijven van methoden in Java met verschillende voorbeelden, waaronder super-sleutelwoorden en verschillende regels.

Java-programmeertaal is de beste keuze als het gaat om . Met begrippen als klassen , , , enz., wordt het buitengewoon gemakkelijk om mee te werken . Gemakkelijke toegang en eenvoudige syntaxis maken de code ook efficiënt en minder complex. In dit artikel zullen we leren over het overbelasten en overschrijven van methoden in Java. Hieronder volgen de onderwerpen die in deze blog worden besproken:

Wat is overbelasting van methoden in Java?

Door overbelasting van de methode kan de methode dezelfde naam hebben die verschilt op basis van argumenten of de typen argumenten. Het kan te maken hebben met polymorfisme tijdens het compileren. Hieronder volgen enkele tips die we in gedachten moeten houden bij het overbelasten van methoden in Java.





  • We kunnen een retourtype niet overbelasten.

  • Hoewel we kunnen overbelasten moeten de argumenten of invoerparameters verschillend zijn.



  • We kunnen twee methoden niet overbelasten als ze alleen verschillen door een statisch trefwoord.

  • Net als andere statische methoden, kan de methode main () ook worden overbelast.

methode overbelasting - methode overbelasting en overschrijven in java-edureka



Laten we eens kijken naar een eenvoudig programma om te begrijpen hoe overbelasting van methoden werkt in 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)}}
 Uitgang: 5 4

In het bovenstaande programma hebben we twee methoden met dezelfde naam maar met verschillende parameters. Dit is hoe de methode overbelasting werkt .

wat is sessie in java

Waarom methode overbelasting?

Het belangrijkste voordeel van het gebruik van methode-overbelasting in Java is dat het ons de vrijheid geeft om niet steeds weer een functie te definiëren om hetzelfde te doen. In het onderstaande voorbeeld zijn de twee methoden in feite het uitvoeren van deling, dus we kunnen verschillende methoden hebben met dezelfde naam maar met verschillende parameters. Het helpt ook bij het compileren van polymorfisme.

Overbelasting van de methode main ():

Hieronder volgt een voorbeeld om de methode main () in java te overbelasten.

public class Edureka {public static void main (String [] args) {System.out.println ('hallo') Edureka.main ('edurekan')} public static void main (String arg1) {System.out.println (' welkom '+ arg1) Edureka.main (' welkom ',' naar edureka ')} openbare statische leegte main (String arg1, String arg2) {System.out.println (' hallo ', + arg1, + arg2)}}
 Uitgang: hallo welkom edurekan hallo, welkom bij edureka

Voorbeelden van overbelasting van methoden

  • Programma om statische methoden in java te overbelasten.
public class 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))}}
 Uitgang: 100 edureka
  • Programma om drie methoden met dezelfde naam te overladen.
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)}}
 Uitgang: 40 75 34

Wat overschrijft methode in Java?

Overerving in Java omvat een relatie tussen bovenliggende en onderliggende klassen. Als beide klassen methoden bevatten met dezelfde naam en argumenten of parameters, is het zeker dat een van de methoden de andere methode zal overschrijven tijdens de uitvoering. De methode die wordt uitgevoerd, is afhankelijk van het object.

Als het child class-object de methode aanroept, zal de child class-methode de parent class-methode overschrijven. Anders, als het bovenliggende klasseobject de methode aanroept, wordt de bovenliggende klassemethode uitgevoerd.

Het overschrijven van methoden helpt ook bij het implementeren van runtime-polymorfisme in Java. Laten we een eenvoudig voorbeeld nemen om te begrijpen hoe het overschrijven van methoden werkt in Java.

class Parent {void view () {System.out.println ('this is a parent class method)}} class Child breidt Ouder {void view () {System.out.println (' this is a child class method)}} public static void main (String args []) {Parent ob = new Parent () ob.view () Parent ob1 = new Child () ob1.view ()
 Uitgang: dit is een child class-methode

Regels voor het overschrijven van methoden

  • De toegang tot bewerken kan alleen meer toegang toestaan ​​voor de overschreven methode.

  • NAAR laatste methode ondersteunt het overschrijven van methoden niet.

    html-tabel in een tabel
  • Een statische methode kan niet worden overschreven.

  • Privémethoden kunnen niet worden overschreven.

  • Het retourtype van de overschrijvende methode moet hetzelfde zijn.

  • We kunnen de bovenliggende class-methode aanroepen in de overriding-methode met behulp van het super-sleutelwoord.

  • NAAR bouwer kan niet worden overschreven omdat een onderliggende klasse en een bovenliggende klasse de constructor niet met dezelfde naam kunnen hebben.

Voorbeeld van methode overschrijven

  • Programma om overschrijving weer te geven met behulp van het super-trefwoord
class Parent {void show () {System.out.println ('parent class method')} class Child breidt Ouder {void show () {super.show () System.out.println ('child class method')} openbaar uit static void main (String args []) {Parent ob = new Child () ob.show ()}}
 Uitgang: bovenliggende klasse methode onderliggende klasse methode

Overbelasting versus overschrijven: verschil tussen methodeoverbelasting en methodeoverschrijving

Hieronder volgen de belangrijkste verschillen tussen overbelasting en overschrijven van methoden in Java.

stap voor stap informatica leren
Methode overbelasting Methode overschrijven
  • Het wordt gebruikt om de leesbaarheid van het programma te vergroten
  • Biedt een specifieke implementatie van de methode die al in de bovenliggende klasse zit
  • Het wordt uitgevoerd in dezelfde klas
  • Het omvat meerdere lessen
  • Parameters moeten verschillend zijn in geval van overbelasting
  • Parameters moeten hetzelfde zijn in het geval van overschrijven
  • Is een voorbeeld van compilatietijd polymorfisme
  • Het is een voorbeeld van runtime-polymorfisme
  • Het retourtype kan verschillen, maar u moet ook de parameters wijzigen.
  • Retourtype moet hetzelfde zijn bij overschrijven
  • Statische methoden kunnen worden overbelast
  • Bij overschrijven zijn geen statische methoden betrokken.

In deze blog hebben we het overbelasten van methoden en het overschrijven van methoden in detail besproken. Met de betrokkenheid van klassen, objecten en concepten zoals overerving en polymorfisme wordt het vrij belangrijk om een ​​duidelijk idee te krijgen van wat het betekent om methoden in Java te overbelasten of te negeren.

Java-programmeertaal is een hoogtepunt in objectgeoriënteerd programmeren en bevat veel toepassingen. Met de vraag en populariteit moet een aspirant-Java-ontwikkelaar bedreven zijn in de fundamentele concepten van de programmeertaal. Schrijf je in voor Edureka's om je leren een vliegende start te geven.

Heeft u een vraag voor ons? vermeld dit in het commentaargedeelte van dit artikel over 'overbelasting van methoden versus overschrijven van methoden in java' en we nemen zo snel mogelijk contact met u op.