Pass by Value un Pass by Reference Java valodā

Šis emuārs palīdz jums saprast Pass by Value un Pass by Reference Java. Tas arī izskaidro, kāpēc Java ar piemēru tiek dēvēts par Pass by Value.

Java ir viena no būtiskākajām programmēšanas valodām, kuru ikviens var izvēlēties. Tas vienlaikus ir tik vienkārši, iespēja, ko jūs varat attīstīt, izmantojot Java, ir bezgalīga!Tas padara Java par visplašāk izmantoto valodu šajā nozarē.Šis emuārs palīdzēs jums saprast par caurlaides vērtību un caurlaides atsauci Java šādā secībā:

Pass by Value un Pass by Reference Java valodā

Pass by Value un Pass by reference ir divi veidi, kā mēs varam nodot vērtību mainīgajam funkcijā.





  • Garām garām: Tas ir process, kurā funkcijas parametra vērtības tiek kopētas uz citu mainīgo un tā vietā tiek nodots šis nokopētais objekts. To sauc par zvanu pēc vērtības.

  • Garām ar atsauci: Tas ir process, kurā faktiskā atsauces kopija tiek nodota funkcijai. To sauc ar atsauci.



Runājot par Java, mēs varam teikt, ka Java ir Pass by Value, nevis caurlaide.

Mēs ilustrēsim citēto paziņojumu, programmējot.

Ilustrācija ar programmu

Pieņemsim, ka mums ir klase Automašīna tāpat kā zemāk.



public class Car {private String color public Car () {} public Car (String a) {this.color = a} public String getColor () {return color public void setColor (String color) {this.color = color}

Tālāk mums ir programma, kas apmaina divus objektus.

public class Disp {public static void main (String [] args) {Car red = new Car ('Red') Balloon yellow = new Balloon ('Yellow') swap (red, yellow) System.out.println ('sarkana krāsa = '+ red.getColor ()) System.out.println (' dzeltena krāsa = '+ yellow.getColor ()) desc (dzeltena) System.out.println (' dzeltena krāsa = '+ dzeltena.getColor ())} private static void desc (Automašīna) {// automašīna = 100 balloon.setColor ('Red') // automašīna = 100 automašīna = jauna automašīna ('Green') // automašīna = 200 car.setColor ('dzeltena') / / car = 200} // mijmaiņas metode public static void swap (Object o1, Object o2) {Object temp = o1 o1 = o2 o2 = temp}}

Rezultāts

Sarkana krāsa = sarkana

Dzeltena krāsa = dzeltena

Dzeltena krāsa = sarkana

Paskaidrojums:

neskaidra loģika mākslīgajā intelektā

Tātad, kā es teicu iepriekš, ka JAVA ir garām vērtība, tāpēc mēs varam redzēt, ka pirmās divas rindas izejas swap () metodē nedarbojās. Veiksim rūpīgu koda skaidrojumu.

Pass pass Value un Pass By Reference Java valodā

Pirmkārt, mēs izveidojām klases instanci, izmantojot jauns operators. Tas tiek izveidots un vērtība tiek saglabāta atmiņas vietā. Tāpēc šis gadījums norāda objektu atmiņas vietu, kas ir “sarkans” un “dzeltens”. Kad mēs saucam vērtības ar jauniem objektiem o1 un o2, tas norāda uz abu objektu atmiņas vietu, kas ir 'sarkans' un 'dzeltens'. Tātad, kad vispirms tiek izmantota mijmaiņas metode, tā norāda uz “Red” atmiņas vietu. Nākamajā rindiņā automašīnas atsauce tiek mainīta uz nākamo adresi, un tā tiek norādīta uz “dzeltenās” vietas atmiņā. Tāpēc viņi tiek nomainīti otrajā, nevis pirmajā solī. Tāpēc JAVA tiek dēvēta par Pass by Value, nevis atsauci.

Tagad, kad esat sapratis Pass by Value un Pass by Reference Java, pārbaudiet Autors: Edureka, uzticams tiešsaistes mācību uzņēmums ar vairāk nekā 250 000 apmierinātu izglītojamo tīklu visā pasaulē. Edureka Java J2EE un SOA apmācības un sertifikācijas kurss ir paredzēts studentiem un profesionāļiem, kuri vēlas būt Java izstrādātāji. Kurss ir paredzēts, lai dotu jums iespēju sākt Java programmēšanu un apmācīt gan Java, gan uzlabotas koncepcijas, kā arī dažādas Java struktūras, piemēram, Hibernate & Spring.

Vai mums ir jautājums? Lūdzu, pieminējiet to šī raksta “Pass by Value and Pass by Reference in Java” komentāru sadaļā, un mēs pēc iespējas ātrāk sazināsimies ar jums.