Przekaż przez wartość i przekaż przez odwołanie w Javie



Ten blog pomaga zrozumieć przekazywanie wartości i przekazywanie przez odniesienie w języku Java. Wyjaśnia również, dlaczego Java jest określana jako Przekaż przez wartość na przykładzie.

Java to jeden z najbardziej podstawowych języków programowania, z którego każdy może się zapoznać. To jednocześnie jest tak proste, że możliwości tego, co można rozwijać za pomocą Javy, są nieskończone!To właśnie sprawia, że ​​Java jest obecnie najczęściej używanym językiem w branży.Ten blog pomoże ci zrozumieć przekazywanie przez wartość i przekazywanie przez odwołanie w Javie w następującej kolejności:

Przekaż przez wartość i przekaż przez odwołanie w Javie

Przekaż przez wartość i Przekaż przez referencję to dwa sposoby, za pomocą których możemy przekazać wartość do zmiennej w funkcji.





  • Przekaż wartość: Jest to proces, w którym wartości parametrów funkcji są kopiowane do innej zmiennej, a zamiast tego kopiowany jest ten obiekt. Jest to znane jako wywołanie według wartości.

  • Przekaż przez odniesienie: Jest to proces, w którym aktualna kopia odniesienia jest przekazywana do funkcji. Nazywa się to przez odniesienie.



Mówiąc o Javie, możemy powiedzieć, że Java jest przekazywana przez wartość i nie jest przekazywana przez odniesienie.

Zilustrujemy cytowaną w górę instrukcję za pomocą programowania.

Ilustracja z programem

Powiedzmy, że mamy klasę Samochód jak poniżej.



operator rozpoznawania zakresu C ++
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}

Następnie mamy program, który zamienia dwa obiekty.

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 (' żółty kolor = '+ yellow.getColor ()) desc (żółty) System.out.println (' żółty kolor = '+ 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} // metoda swap public static void swap (Object o1, Object o2) {Object temp = o1 o1 = o2 o2 = temp}}

Wynik

Kolor czerwony = czerwony

php.mysql_fetch_array

Kolor żółty = żółty

Kolor żółty = czerwony

Wyjaśnienie:

Tak więc, jak powiedziałem wcześniej, JAVA jest przekazywana przez wartość, dlatego widzimy, że w pierwszych dwóch wierszach danych wyjściowych metoda swap () nie działa. Dokładnie wyjaśnijmy kod.

Przekaż przez wartość i Przekaż przez odniesienie w Javie

Najpierw utworzyliśmy wystąpienie klasy przy użyciu Nowy operator. Jest tworzony, a wartość jest przechowywana w lokalizacji pamięci. Dlatego ta instancja wskazuje lokalizację w pamięci obiektów, które są „czerwone” i „żółte”. Teraz, gdy wywołujemy wartości z nowymi obiektami o1 i o2, to wskazuje to na lokalizację pamięci dwóch obiektów, które są „czerwone” i „żółte”. Więc kiedy metoda swap jest wywoływana jako pierwsza, wskazuje na lokalizację pamięci „Red”. W następnym wierszu odniesienie do samochodu jest zmieniane na następny adres i jest wskazywane na lokalizację pamięci „żółtą”. Dlatego są zamieniane na drugim etapie, a nie na pierwszym. Dlatego JAVA jest określana jako przekazywana przez wartość, a nie jako odniesienie.

Teraz, gdy zrozumiałeś przekazywanie wartości i przekazywanie przez odniesienie w języku Java, zapoznaj się z autorstwa Edureka, zaufanej firmy zajmującej się edukacją online, z siecią ponad 250 000 zadowolonych uczniów rozsianych po całym świecie. Szkolenie i certyfikacja Java J2EE i SOA Edureka jest przeznaczony dla studentów i profesjonalistów, którzy chcą zostać programistami Java. Kurs ma na celu zapewnienie przewagi w programowaniu w języku Java i szkolenie zarówno podstawowych, jak i zaawansowanych koncepcji języka Java, a także różnych struktur Java, takich jak Hibernate i Spring.

Masz do nas pytanie? Wspomnij o tym w sekcji komentarzy w artykule „Przekaż wartość i przekazuj przez odniesienie w Javie”, a my skontaktujemy się z Tobą tak szybko, jak to możliwe.