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.
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.