Prejdite okolo hodnoty a prejdite okolo v Java



Tento blog vám pomôže porozumieť kritériám Pass by Value a Pass by Reference v jazyku Java. Vysvetľuje to tiež, prečo sa Java na príklade označuje ako Pass by Value.

Java je jedným z najzákladnejších programovacích jazykov, ktoré si môže každý zvoliť. Je to zároveň také jednoduché, možnosť toho, čo môžete pomocou Java vyvinúť, je nekonečná!To je dôvod, prečo je Java v dnešnom priemysle najpoužívanejším jazykom.Tento blog vám pomôže porozumieť parametrom pass by value a pass by reference v jazyku Java v nasledujúcom poradí:

Prejdite okolo hodnoty a prejdite okolo v Java

Pass by Value a Pass by reference sú dva spôsoby, ako môžeme odovzdať hodnotu premennej vo funkcii.





  • Prejdite okolo hodnoty: Je to proces, pri ktorom sa hodnoty funkčných parametrov kopírujú do inej premennej a namiesto nich sa odovzdáva tento kopírovaný objekt. Toto sa nazýva volanie podľa hodnoty.

  • Prejsť okolo referencie: Je to proces, pri ktorom sa funkcii odovzdá skutočná kópia odkazu. Tomu sa hovorí Referencia.



Keď už hovoríme o Jave, môžeme povedať, že Java je Pass by Value a nie pass by reference.

verejný reťazec tostring ()

Vyššie citované vyhlásenie ilustrujeme programovaním.

Ilustrácia s programom

Povedzme, že máme hodinu Auto ako nižšie.



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}

Ďalej máme program, ktorý zamení dva objekty.

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 ('red color = '+ red.getColor ()) System.out.println (' žltá farba = '+ žltá.getColor ()) desc (žltá) System.out.println (' žltá farba = '+ žltá.getColor ())} private static void desc (Car car) {// car = 100 balloon.setColor ('Red') // car = 100 car = new car ('Green') // car = 200 car.setColor ('Yellow') / / car = 200} // swap method public static void swap (Object o1, Object o2) {Object temp = o1 o1 = o2 o2 = temp}}

Výkon

Červená farba = červená

Žltá farba = Žltá

Žltá farba = červená

Vysvetlenie:

Takže ako som už skôr povedal, že JAVA prechádza parametrom Value, môžeme vidieť, že prvé dva riadky vo výstupnej metóde swap () nefungovali. Poďme podrobne vysvetliť kód.

Prejdite okolo hodnoty a prejdite okolo v Java

Najskôr sme vytvorili inštanciu triedy pomocou Nový operátor. Vytvorí sa a hodnota sa uloží na miesto v pamäti. Preto táto inštancia ukazuje na miesto v pamäti objektov, ktoré je „červené“ a „žlté“. Teraz, keď voláme hodnoty s novými objektmi o1 a o2, ukazuje to na miesto v pamäti týchto dvoch objektov, ktoré je „červené“ a „žlté“. Takže keď sa najskôr použije metóda výmeny, ukazuje to na pamäťové miesto „červenej“. V nasledujúcom riadku sa odkaz na auto zmení na nasledujúcu adresu a nasmeruje sa na pamäťové miesto „žltej“. Preto sa vymenia v druhom kroku, nie v prvom kroku. Preto sa JAVA označuje ako Pass by Value a nie ako referencia.

čo je MVC v Jave

Teraz, keď ste porozumeli otázkam Pass by Value a Pass by Reference v Jave, pozrite sa na autor: Edureka, dôveryhodná online vzdelávacia spoločnosť so sieťou viac ako 250 000 spokojných študentov rozmiestnených po celom svete. Kurz odbornej prípravy a certifikácie Java J2EE a SOA spoločnosti Edureka je určený pre študentov a profesionálov, ktorí chcú byť vývojármi v prostredí Java. Kurz je navrhnutý tak, aby vám dal náskok v programovaní v jazyku Java a naučil vás základné aj pokročilé koncepty jazyka Java spolu s rôznymi rámcami Java, ako je Hibernate & Spring.

Máte na nás otázku? Uveďte to prosím v sekcii komentárov v tomto článku „Pass by Value and Pass by Reference in Java“ a my sa vám ozveme čo najskôr.