Java-programmeringssprog er det bedste valg, når det kommer til . Med begreber som klasser , , osv. bliver det ekstremt let at arbejde med . Let adgang og let syntaks gør koden også effektiv og mindre kompleks. I denne artikel vil vi lære om metodeoverbelastning og tilsidesættelse i Java. Følgende er de emner, der diskuteres i denne blog:
- Hvad er metodeoverbelastning i Java?
- Hvorfor metodeoverbelastning?
- Eksempler på metodeoverbelastning
- Hvad er metodeoverstyring?
- Regler for metodeoverstyring
- Eksempel på metodeoverskridelse
- Overbelastning vs Overriding: Forskelle mellem metodeoverbelastning og metodeoverstyring
Hvad er metodeoverbelastning i Java?
Metodeoverbelastning gør det muligt for metoden at have samme navn, som adskiller sig på baggrund af argumenter eller argumenttyperne. Det kan relateres til kompileringstidspolymorfisme. Følgende er et par tip, som vi skal huske på, når vi overbelaster metoder i Java.
Vi kan ikke overbelaste en returtype.
omvendt et tal i java
Selvom vi kan overbelaste skal argumenterne eller inputparametrene være forskellige.
Vi kan ikke overbelaste to metoder, hvis de kun adskiller sig ved et statisk nøgleord.
Ligesom andre statiske metoder kan hovedmetoden () også overbelastes.
Lad os se på et simpelt program for at forstå, hvordan metodeoverbelastning fungerer i python.
offentlig 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 ugyldig main (String args []) {Div ob = new Div () ob.div (10, 2) ob.div (10, 2, 3)}}
Produktion: 5 4
I ovenstående program har vi to metoder med samme navn, men forskellige parametre. Sådan fungerer overbelastningsmetoden .
Hvorfor metodeoverbelastning?
Den største fordel ved at bruge metodeoverbelastning i Java er, at det giver os friheden til ikke at definere en funktion igen og igen til at gøre det samme. I nedenstående eksempel udfører de to metoder grundlæggende division, så vi kan have forskellige metoder med samme navn, men med forskellige parametre. Det hjælper også med at kompilere polymorfisme.
Overbelastning af hovedmetoden ():
Følgende er et eksempel på at overbelaste hovedmetoden () i java.
public class Edureka {public static void main (String [] args) {System.out.println ('hej') Edureka.main ('edurekan')} public static ugyldig main (String arg1) {System.out.println (' velkommen '+ arg1) Edureka.main (' velkommen ',' til edureka ')} offentlig statisk ugyldig main (String arg1, String arg2) {System.out.println (' hej ', + arg1, + arg2)}}
Produktion: hej velkomst edurekan hej, velkommen til edureka
Eksempler på metodeoverbelastning
- Program til at overbelaste statiske metoder i java.
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))}}
Produktion: 100 edureka
- Program til at overbelaste tre metoder med samme navn.
public class Tilføj {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, dobbelt b) {return (a + b)} offentlig statisk ugyldig hoved (String args []) {Tilføj ob = ny Tilføj () ob.add (15,25) ob.add (15,25,35) ob . tilføj (11.5, 22.5)}}
Produktion: 40 75 34
Hvad er metodeoverstyring i Java?
Arv i java involverer et forhold mellem forældre- og barneklasser. Når begge klasser indeholder metoder med samme navn og argumenter eller parametre, er det sikkert, at en af metoderne tilsidesætter den anden metode under udførelse. Den metode, der udføres, afhænger af objektet.
Hvis underordnet klasseobjekt kalder metoden, tilsidesætter underordnede klassemetoden underordnet klassemetode. Ellers, hvis overordnet klasseobjekt kalder metoden, udføres overordnet klassemetode.
Metodeoverstyring hjælper også med at implementere runtime polymorfisme i java. Lad os tage et simpelt eksempel for at forstå, hvordan metodeoverstyring fungerer i java.
class Parent {void view () {System.out.println ('this is a parent class method)}} class Child extends Parent {void view () {System.out.println (' this is a child class method)}} offentlig statisk ugyldig hoved (String args []) {Forælder ob = ny forælder () ob.view () Parent ob1 = new Child () ob1.view ()
Produktion: dette er en barneklasse metode
Regler for metodeoverstyring
Det adgangsredigering kan kun give mere adgang til den tilsidesatte metode.
TIL endelig metoden understøtter ikke tilsidesættelse af metoden.
hvad er forskellen mellem en klasse og en grænseflade
En statisk metode kan ikke tilsidesættes.
Private metoder kan ikke tilsidesættes.
Returtypen for den overordnede metode skal være den samme.
hvordan man konverterer strengdato til dato i java
Vi kan kalde overordnet klassemetoden i den overordnede metode ved hjælp af super nøgleordet.
TIL Bygger kan ikke tilsidesættes, fordi en underordnet klasse og en overordnet klasse ikke kan have konstruktøren med samme navn.
Eksempel på metodeoverskridelse
- Program til at vise tilsidesættelse ved hjælp af super nøgleord
class Parent {void show () {System.out.println ('parent class method')} class Child extends Parent (void show () {super.show () System.out.println ('child class method')} public statisk ugyldigt hoved (String args []) {Parent ob = new Child () ob.show ()}}
Produktion: forældreklassemetode barneklassemetode
Overbelastning vs Overriding: Forskel mellem metodeoverbelastning og metodeoverstyring
Følgende er de vigtigste forskelle mellem metodeoverbelastning og tilsidesættelse i Java.
Metode Overbelastning | Metode tilsidesættelse |
|
|
|
|
|
|
|
|
|
|
|
|
I denne blog har vi diskuteret metodeoverbelastning og metodeoverstyring i detaljer. Med inddragelse af klasser, objekter og begreber som arv og polymorfisme bliver det ret vigtigt at få en klar idé om, hvad det betyder at overbelaste eller tilsidesætte metoder i java.
Java-programmeringssprog er et højdepunkt i objektorienteret programmering og indeholder mange applikationer. Med efterspørgslen og populariteten skal en ambitiøs java-udvikler være dygtig til programmeringssprogets grundlæggende begreber. Tilmeld dig Edurekas for at starte din læring.
Har du et spørgsmål til os? nævnes dette i kommentarfeltet i denne artikel om 'metodeoverbelastning vs metodeoverstyring i java', og vi vender tilbage til dig så hurtigt som muligt.