Java je jedním z nejzákladnějších programovacích jazyků, které si každý může vybrat. Je to zároveň tak jednoduché, možnost toho, co můžete pomocí Javy vyvíjet, je nekonečná!Díky tomu je Java v současnosti nejpoužívanějším jazykem v oboru.Tento blog vám pomůže porozumět hodnotám pass by value a pass by reference v Javě v následujícím pořadí:
Pass by Value a Pass by Reference v Javě
Pass by Value a Pass by reference jsou dva způsoby, kterými můžeme předat hodnotu proměnné ve funkci.
Předat podle hodnoty: Jedná se o proces, při kterém se hodnoty funkčních parametrů kopírují do jiné proměnné a místo toho se předává tento kopírovaný objekt. Toto se nazývá volání podle hodnoty.
Projít odkazem: Jedná se o proces, při kterém se skutečné kopii odkazu předá funkci. Tomu se říká Reference.
Když mluvíme o Javě, můžeme říci, že Java je Pass by Value a není pass by reference.
třídicí pole c ++
Up-citované prohlášení ilustrujeme programováním.
Ilustrace s programem
Řekněme, že máme třídu Auto jako níže.
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}
Dále máme program, který zamění 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 (' žlutá barva = '+ yellow.getColor ()) desc (žlutá) System.out.println (' žlutá barva = '+ yellow.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} // swapová metoda public static void swap (Object o1, Object o2) {Object temp = o1 o1 = o2 o2 = temp}}
Výstup
Červená barva = červená
Žlutá barva = žlutá
Žlutá barva = červená
Vysvětlení:
Takže jak jsem již dříve řekl, že JAVA předává Value, proto vidíme, že první dva řádky ve výstupu metoda swap () nefungovala. Pojďme důkladně vysvětlit kód.
Nejprve jsme vytvořili instanci třídy pomocí Nový operátor. Vytvoří se a hodnota se uloží na paměťové místo. Proto tato instance ukazuje na místo v paměti objektů, které je „červené“ a „žluté“. Když nyní voláme hodnoty s novými objekty o1 a o2, ukazuje to na paměťové místo dvou objektů, které je „červené“ a „žluté“. Když se tedy metoda swap nejprve vyvolá, ukazuje na místo paměti „Red“. V dalším řádku se odkaz na auto změní na další adresu a bude namířen na místo paměti „žluté“. Proto se vymění v druhém kroku, ne v prvním kroku. To je důvod, proč se JAVA označuje jako Pass by Value a ne reference.
jak řadit pole v C ++
Nyní, když jste pochopili Pass by Value a Pass by Reference v Javě, podívejte se na Edureka, důvěryhodná online vzdělávací společnost se sítí více než 250 000 spokojených studentů po celém světě. Kurz školení a certifikace Java J2EE a SOA společnosti Edureka je určen pro studenty a profesionály, kteří chtějí být vývojářem Java. Kurz je navržen tak, aby vám poskytl náskok v programování v Javě a naučil vás základní i pokročilé koncepty Javy spolu s různými jávskými rámci, jako je Hibernate & Spring.
Máte na nás dotaz? Uveďte to prosím v sekci komentářů v tomto článku „Pass by Value and Pass by Reference in Java“ a my se vám ozveme co nejdříve.