Java-programmeringsspråk er det beste valget når det gjelder . Med konsepter som klasser , , osv. blir det ekstremt enkelt å jobbe med . Enkel tilgang og enkel syntaks gjør koden effektiv og mindre kompleks også. I denne artikkelen vil vi lære om overbelastning og overstyring av metoder i Java. Følgende er temaene som er diskutert i denne bloggen:
- Hva er metodeoverbelastning i Java?
- Hvorfor metodeoverbelastning?
- Eksempler på metode for overbelastning
- Hva er metodeoverstyring?
- Regler for metodeoverstyring
- Metodeoverstyrende eksempel
- Overbelastning kontra overstyring: Forskjeller mellom metodeoverbelastning og metodeoverstyring
Hva er metodeoverbelastning i Java?
Metodeoverbelastning gjør at metoden kan ha samme navn som er forskjellig på grunnlag av argumenter eller argumenttypene. Det kan være relatert til kompileringstidspolymorfisme. Følgende er noen tips som vi må huske på når vi overbelaster metoder i Java.
Vi kan ikke overbelaste en returtype.
Selv om vi kan overbelaste må argumentene eller inngangsparametrene være forskjellige.
Vi kan ikke overbelaste to metoder hvis de bare skiller seg fra et statisk nøkkelord.
Som andre statiske metoder, kan også hovedmetoden () overbelastes.
La oss ta en titt på et enkelt program for å forstå hvordan metodeoverbelastning fungerer i python.
offentlig klasse Div {offentlig int div (int a, int b) {retur (a / b)} offentlig int div (int a, int b, int c) {retur ((a + b) / c)} offentlig statisk tomrom main (String args []) {Div ob = new Div () ob.div (10, 2) ob.div (10, 2, 3)}}
Produksjon: 5 4
I programmet ovenfor har vi to metoder med samme navn, men forskjellige parametere. Slik fungerer metoden overbelastning i .
Hvorfor metodeoverbelastning?
Den største fordelen med å bruke metodeoverbelastning i Java er at det gir oss frihet til ikke å definere en funksjon igjen og igjen for å gjøre det samme. I eksemplet nedenfor utfører de to metodene i utgangspunktet inndeling, slik at vi kan ha forskjellige metoder med samme navn, men med forskjellige parametere. Det hjelper også med å samle polymorfisme.
Overbelastning av hovedmetoden ():
Følgende er et eksempel for å overbelaste hovedmetoden () i java.
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 (' velkommen '+ arg1) Edureka.main (' velkommen ',' til edureka ')} offentlig statisk tomrom hoved (String arg1, String arg2) {System.out.println (' hallo ', + arg1, + arg2)}}
Produksjon: hei velkomst edurekan hei, velkommen til edureka
Eksempler på metode for overbelastning
- Program for å 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))}}
Produksjon: 100 edureka
- Program for å overbelaste tre metoder med samme navn.
public class Legg til {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, dobbel b) {retur (a + b)} offentlig statisk ugyldig hoved (String args []) {Legg til = ny Legg til () ob.add (15,25) ob.add (15,25,35) ob . legge til (11.5, 22.5)}}
Produksjon: 40 75 34
Hva er metodeoverstyring i Java?
Arv i java innebærer et forhold mellom foreldre- og barneklasser. Når begge klassene inneholder metoder med samme navn og argumenter eller parametere, er det sikkert at en av metodene overstyrer den andre metoden under kjøring. Metoden som skal utføres avhenger av objektet.
Hvis underordnet klasseobjekt kaller metoden, overstyrer barneklassemetoden overordnet klassemetode. Ellers, hvis overordnet klasseobjekt kaller metoden, blir overordnet klassemetode utført.
Metodeoverstyring hjelper også til å implementere polymorfisme i runtime i java. La oss ta et enkelt eksempel for å forstå hvordan metodeoverstyring fungerer i java.
def __init__ python
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)}} public static void main (String args []) {Parent ob = new Parent () ob.view () Parent ob1 = new Child () ob1.view ()
Produksjon: dette er en barneklassemetode
Regler for metodeoverstyring
De tilgangsredigering kan bare tillate mer tilgang for den overstyrte metoden.
TIL endelig metoden støtter ikke overstyring av metoden.
En statisk metode kan ikke overstyres.
Private metoder kan ikke overstyres.
Returtypen til den overordnede metoden må være den samme.
Vi kan kalle foreldreklassemetoden i den overordnede metoden ved hjelp av supernøkkelordet.
TIL bygger kan ikke overstyres fordi en barneklasse og en overordnet klasse ikke kan ha konstruktøren med samme navn.
Metodeoverstyrende eksempel
- Program for å vise overordnet ved hjelp av super søkeord
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 tomrom hoved (String args []) {Parent ob = new Child () ob.show ()}}
Produksjon: foreldreklassemetode barneklassemetode
Overbelastning kontra overstyring: Forskjellen mellom metodeoverbelastning og metodeoverstyring
Følgende er nøkkelforskjellene mellom metodeoverbelastning og overstyring i Java.
Metode Overbelastning | Metodeoverstyring |
|
|
|
|
|
|
|
|
|
|
|
|
I denne bloggen har vi diskutert metodeoverbelastning og metodeoverstyring i detalj. Med involvering av klasser, objekter og begreper som arv og polymorfisme blir det ganske viktig å få en klar ide om hva det vil si å overbelaste eller overstyre metoder i java.
Java-programmeringsspråk er et høydepunkt i objektorientert programmering og inneholder mange applikasjoner. Med etterspørsel og popularitet, må en håpefull java-utvikler være dyktig i de grunnleggende konseptene til programmeringsspråket. Registrer deg til Edureka’s å sette i gang læringen din.
Har du et spørsmål til oss? vennligst nevn dette i kommentarfeltet i denne artikkelen om “metodeoverbelastning vs metode som overstyres i java”, og vi vil kontakte deg så snart som mulig.