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