Dok se bavi matematičkim izračunima u Javi, mogu postojati slučajevi u kojima programer treba primijeniti određenu funkcionalnost na više vrijednosti. Za to programer treba dodijeliti posebnu funkciju i u njoj izvesti željene funkcionalnosti. Vrijednosti se zatim prosljeđuju u ovu funkciju, ažuriraju i vraćaju u skladu s tim. U takvim slučajevima, prosljeđivanje po referenci u Javi je od velike pomoći u dodavanju identičnih funkcionalnosti istim vrijednostima.
Ovaj će blog razraditi pristupe prijenosu po referenci u Javi.
Što je 'Pass by Reference' u Javi?
Prijenos po referenci u Javi znači da kada se metoda pozove, argumenti metode upućuju na istu varijablu u memoriji kao i pozivatelj.
Kako 'proći referencom' u Javi?
Za prijenos reference u Javi, razmotrite sljedeće pristupe:
- Vrati ažuriranu vrijednost.
- Vrati inkrementirani element niza.
- Ažurirajte varijablu javnog člana u klasi.
Primjer 1: Prijenos po referenci u Javi vraćanjem ažurirane vrijednosti
U ovom primjeru, inicijalizirani cijeli broj može se proslijediti kao argument funkcije koji se povećava u funkciji i vraća:
int datiBroj = 2 ;
Sustav . van . println ( 'Dani broj je: ' + datiBroj ) ;
datiBroj = prirast ( datiBroj ) ;
Sustav . van . println ( 'Ažurirani broj je: ' + datiBroj ) ;
javnost statički int prirast ( int updateNum ) {
updateNum ++;
povratak updateNum ;
}
U gornjim redcima koda:
- Prvo inicijalizirajte vrijednost cijelog broja i prikažite je.
- U sljedećem koraku pozovite funkciju “ povećanje() ” prosljeđivanjem cijelog broja kao argumenta i prikazivanjem povećanog broja.
- Na kraju, definirajte funkciju pod nazivom ' povećanje() ” s navedenim parametrom koji treba povećati.
- U definiciji funkcije povećajte proslijeđeni broj i vratite ga.
Izlaz
U ovom izlazu se može vidjeti da je inicijalizirani broj proslijeđen, povećan i vraćen.
Primjer 2: Prijenos po referenci u Javi vraćanjem uvećanog elementa polja
Sada dodajte sljedeći kod:
int dati niz [ ] = { 2 , 3 , 4 } ;Sustav . van . println ( 'Dani broj je: ' + dati niz [ 1 ] ) ;
prirast ( dati niz ) ;
Sustav . van . println ( 'Ažurirani broj je: ' + dati niz [ 1 ] ) ;
}
javnost statički poništiti prirast ( int povećati [ ] ) {
povećati [ 1 ] ++;
}
Ovdje:
- Prvo, deklarirajte niz pod nazivom ' dati niz[ ] ” koji sadrži cjelobrojne vrijednosti.
- Nakon toga, prikazati vrijednost indeksiranog niza.
- Sada proslijedite vrijednost polja kao argument funkcije i, isto tako, prikažite inkrementirani cijeli broj na konzoli.
- Konačno, na sličan način deklarirajte funkciju ' povećanje() ” koji ima parametar koji pokazuje na vrijednost niza koju treba povećati.
- U definiciji funkcije povećajte proslijeđenu vrijednost i vratite je.
Izlaz
U gornjem ishodu može se uočiti da se inicijalizirana vrijednost prosljeđuje i u skladu s tim povećava.
Primjer 3: Prijenos po referenci u Javi ažuriranjem javne varijable člana u klasi
U ovoj demonstraciji, varijabla klase može se pozvati i povećati upućivanjem na objekt klase:
razreda customClass {javnost int datiBroj ;
javnost customClass ( ) {
datiBroj = 2 ;
} }
javnost razreda Primjer {
javnost statički poništiti glavni ( Niz args [ ] ) {
customClass objekt = novi customClass ( ) ;
Sustav . van . println ( 'Dani broj je: ' + objekt. datiBroj ) ;
prirast ( objekt ) ;
Sustav . van . println ( 'Ažurirani broj je: ' + objekt. datiBroj ) ;
}
javnost statički poništiti prirast ( customClass obj ) {
obj. datiBroj ++;
}
}
U gornjem bloku koda:
- Definirajte klasu pod nazivom ' customClass ”. Također, odredite javnu varijablu unutar klase.
- U sljedećem koraku kreirajte konstruktor klase ' customClass() ” i inicijalizirati navedeni cijeli broj unutar njega.
- Nakon toga kreirajte objekt kreirane klase pod nazivom “ objekt ' putem ' novi ' ključna riječ i ' customClass() ” konstruktor, respektivno.
- Sada prikažite inicijalizirani cijeli broj pozivajući se na objekt klase.
- Pozovite funkciju “ povećanje() ” i proslijedite stvoreni objekt za primjenu funkcionalnosti funkcije na klasu.
- Na kraju, deklarirajte funkciju ' povećanje() ” i povećava inicijalizirani cijeli broj pozivajući se na objekt klase.
Izlaz
Gore navedeni ishod znači da je željeni zahtjev ispunjen.
Zaključak
Da biste proslijedili referencu u Javi, vratite ažuriranu vrijednost, vratite povećani element niza ili ažurirajte javnu varijablu u klasi. Ovi pristupi izvode željenu funkcionalnost prosljeđivanjem cijelog broja, elementa niza ili objekta klase kao argumenta funkcije i povećanjem inicijalizirane vrijednosti. Ovaj blog naveo je pristupe prijenosu po referenci u Javi.