Mens han beskæftiger sig med matematiske beregninger i Java, kan der være tilfælde, hvor udvikleren skal anvende en specifik funktionalitet på flere værdier. Til det skal programmøren tildele en separat funktion og udføre de ønskede funktionaliteter i den. Værdierne overføres derefter til denne funktion, opdateres og returneres i overensstemmelse hermed. I sådanne tilfælde er det til stor hjælp at overføre ved reference i Java til at tilføje identiske funktionaliteter på de samme værdier.
Denne blog vil uddybe metoderne til at passere ved reference i Java.
Hvad er 'Pass by Reference' i Java?
At passere ved reference i Java betyder, at når en metode kaldes, refererer metodeargumenterne til den samme variabel i hukommelsen som invokeren.
Hvordan 'Giver du videre' i Java?
For at passere ved reference i Java skal du overveje følgende tilgange:
- Returner en opdateret værdi.
- Returner et øget array-element.
- Opdater en offentlig medlemsvariabel i en klasse.
Eksempel 1: Bestå reference i Java ved at returnere en opdateret værdi
I dette eksempel kan det initialiserede heltal sendes som et funktionsargument, der øges i funktionen og returneres:
int givet nummer = 2 ;
System . ud . println ( 'Det givne nummer er: ' + givet nummer ) ;
givet nummer = stigning ( givet nummer ) ;
System . ud . println ( 'Det opdaterede nummer er: ' + givet nummer ) ;
offentlig statisk int stigning ( int opdateringNum ) {
opdateringNum ++;
Vend tilbage opdateringNum ;
}
I ovenstående kodelinjer:
- For det første skal du initialisere heltalsværdien og vise den.
- I næste trin skal du aktivere funktionen ' stigning() ” ved at sende hele tallet som argument og vise det øgede tal.
- Til sidst skal du definere en funktion ved navn ' stigning() ” med den angivne parameter, der skal øges.
- I funktionsdefinitionen skal du øge det beståede tal og returnere det.
Produktion
I dette output kan det ses, at det initialiserede nummer er bestået, forøget og returneret.
Eksempel 2: Gå gennem reference i Java ved at returnere et inkrementeret array-element
Tilføj nu følgende kode:
int givenArray [ ] = { 2 , 3 , 4 } ;System . ud . println ( 'Det givne nummer er: ' + givenArray [ 1 ] ) ;
stigning ( givenArray ) ;
System . ud . println ( 'Det opdaterede nummer er: ' + givenArray [ 1 ] ) ;
}
offentlig statisk ugyldig stigning ( int øge [ ] ) {
øge [ 1 ] ++;
}
Her:
- For det første skal du erklære et array med navnet ' givenArray[ ] ” indeholdende heltalsværdierne.
- Derefter skal du vise den indekserede matrixværdi.
- Send nu matrixværdien som et funktionsargument, og vis på samme måde det øgede heltal på konsollen.
- Til sidst skal du på samme måde erklære funktionen ' stigning() ” med parameteren, der peger på den matrixværdi, der skal inkrementeres.
- I funktionsdefinitionen skal du øge den beståede værdi og returnere den.
Produktion
I ovenstående resultat kan det observeres, at den initialiserede værdi passeres og øges i overensstemmelse hermed.
Eksempel 3: Bestå reference i Java ved at opdatere en offentlig medlemsvariabel i en klasse
I denne demonstration kan en klassevariabel fremkaldes og øges ved at henvise til klasseobjektet:
klasse customClass {offentlig int givet nummer ;
offentlig customClass ( ) {
givet nummer = 2 ;
} }
offentlig klasse Eksempel {
offentlig statisk ugyldig vigtigste ( Snor args [ ] ) {
customClass objekt = ny customClass ( ) ;
System . ud . println ( 'Det givne nummer er: ' + objekt. givet nummer ) ;
stigning ( objekt ) ;
System . ud . println ( 'Det opdaterede nummer er: ' + objekt. givet nummer ) ;
}
offentlig statisk ugyldig stigning ( customClass obj ) {
obj. givet nummer ++;
}
}
I ovenstående kodeblok:
- Definer en klasse ved navn ' customClass ”. Angiv også en offentlig variabel i klassen.
- I næste trin skal du oprette klassekonstruktøren ' customClass() ” og initialiser det angivne heltal i det.
- Derefter skal du oprette et objekt af den oprettede klasse med navnet ' objekt ' via ' ny ' søgeord og ' customClass() ” konstruktør hhv.
- Vis nu det initialiserede heltal ved at henvise til klasseobjektet.
- Kald funktionen ' stigning() ” og send det oprettede objekt for at anvende funktionaliteterne af funktionen på klassen.
- Til sidst skal du erklære funktionen ' stigning() ” og forøg det initialiserede heltal ved at henvise til klasseobjektet.
Produktion
Ovenstående resultat betyder, at det ønskede krav er opfyldt.
Konklusion
For at passere ved reference i Java skal du returnere en opdateret værdi, returnere et øget array-element eller opdatere en offentlig variabel i en klasse. Disse tilgange udfører den ønskede funktionalitet ved at overføre et heltal, et array-element eller et klasseobjekt som et funktionsargument og henholdsvis øge den initialiserede værdi. Denne blog angav tilgangene til at passere ved reference i Java.