Mens han arbeider med matematiske beregninger i Java, kan det være tilfeller der utvikleren trenger å bruke en spesifikk funksjonalitet på flere verdier. For det må programmereren tildele en egen funksjon og utføre de ønskede funksjonene i den. Verdiene sendes deretter til denne funksjonen, oppdateres og returneres deretter. I slike tilfeller er referanse i Java til stor hjelp for å legge til identiske funksjoner på de samme verdiene.
Denne bloggen vil utdype tilnærmingene til å passere ved referanse i Java.
Hva er 'Pass by Reference' i Java?
Å sende ved referanse i Java betyr at når en metode kalles, refererer metodeargumentene til den samme variabelen i minnet som invokeren.
Hvordan 'passere ved referanse' i Java?
For å gå gjennom referanse i Java, vurder følgende tilnærminger:
- Returner en oppdatert verdi.
- Returner et inkrementert matriseelement.
- Oppdater en offentlig medlemsvariabel i en klasse.
Eksempel 1: Pass ved referanse i Java ved å returnere en oppdatert verdi
I dette eksemplet kan det initialiserte heltallet sendes som et funksjonsargument som inkrementeres i funksjonen og returneres:
int gitt nummer = 2 ;
System . ute . println ( 'Det oppgitte tallet er: ' + gitt nummer ) ;
gitt nummer = øke ( gitt nummer ) ;
System . ute . println ( 'Det oppdaterte nummeret er: ' + gitt nummer ) ;
offentlig statisk int øke ( int oppdateringNum ) {
oppdateringNum ++;
komme tilbake oppdateringNum ;
}
I kodelinjene ovenfor:
- Først initialiser heltallsverdien og vis den.
- I neste trinn påkaller du funksjonen ' øke() ” ved å sende heltallet som argument og vise det økte tallet.
- Til slutt, definer en funksjon kalt ' øke() har den angitte parameteren som må økes.
- I funksjonsdefinisjonen øker du det beståtte tallet og returnerer det.
Produksjon
I denne utgangen kan det sees at det initialiserte tallet sendes, økes og returneres.
Eksempel 2: Pass ved referanse i Java ved å returnere et inkrementert matriseelement
Legg nå til følgende kode:
int gittArray [ ] = { 2 , 3 , 4 } ;System . ute . println ( 'Det oppgitte tallet er: ' + gittArray [ 1 ] ) ;
øke ( gittArray ) ;
System . ute . println ( 'Det oppdaterte nummeret er: ' + gittArray [ 1 ] ) ;
}
offentlig statisk tomrom øke ( int øke [ ] ) {
øke [ 1 ] ++;
}
Her:
- Først erklærer du en matrise som heter ' gittArray[ ] ” som inneholder heltallsverdiene.
- Etter det, vis den indekserte matriseverdien.
- Send nå matriseverdien som et funksjonsargument og vis på samme måte det inkrementerte heltall på konsollen.
- Til slutt, på samme måte erklærer funksjonen ' øke() ” med parameteren som peker til matriseverdien som skal økes.
- I funksjonsdefinisjonen øker du den beståtte verdien og returnerer den.
Produksjon
I resultatet ovenfor kan det observeres at den initialiserte verdien passeres og økes tilsvarende.
Eksempel 3: Pass ved referanse i Java ved å oppdatere en offentlig medlemsvariabel i en klasse
I denne demonstrasjonen kan en klassevariabel påkalles og økes ved å referere til klasseobjektet:
klasse customClass {offentlig int gitt nummer ;
offentlig customClass ( ) {
gitt nummer = 2 ;
} }
offentlig klasse Eksempel {
offentlig statisk tomrom hoved- ( String args [ ] ) {
customClass-objekt = ny customClass ( ) ;
System . ute . println ( 'Det oppgitte tallet er: ' + gjenstand. gitt nummer ) ;
øke ( gjenstand ) ;
System . ute . println ( 'Det oppdaterte nummeret er: ' + gjenstand. gitt nummer ) ;
}
offentlig statisk tomrom øke ( customClass obj ) {
obj. gitt nummer ++;
}
}
I kodeblokken ovenfor:
- Definer en klasse som heter ' customClass '. Spesifiser også en offentlig variabel i klassen.
- I neste trinn oppretter du klassekonstruktøren ' customClass() ” og initialiser det spesifiserte heltallet i det.
- Etter det, lag et objekt av den opprettede klassen kalt ' gjenstand ' via ' ny ' nøkkelord og ' customClass() ” konstruktør, henholdsvis.
- Vis nå det initialiserte heltallet ved å referere til klasseobjektet.
- Påkall funksjonen ' øke() ” og send det opprettede objektet for å bruke funksjonene til funksjonen på klassen.
- Til slutt, erklær funksjonen ' øke() ” og øke det initialiserte heltallet ved å referere til klasseobjektet.
Produksjon
Ovennevnte utfall betyr at ønsket krav er oppfylt.
Konklusjon
For å passere ved referanse i Java, returner en oppdatert verdi, returner et inkrementert matriseelement eller oppdater en offentlig variabel i en klasse. Disse tilnærmingene utfører ønsket funksjonalitet ved å sende et heltall, et matriseelement eller et klasseobjekt som et funksjonsargument og øke den initialiserte verdien, henholdsvis. Denne bloggen uttalte tilnærmingene til å passere ved referanse i Java.