Передача по значению и передача по ссылке в Java



Этот блог поможет вам разобраться в передаче по значению и передаче по ссылке в Java. Это также объясняет, почему Java упоминается как «Передача по значению с примером».

Java - один из самых фундаментальных языков программирования, который может освоить каждый. Это настолько просто, что в то же время возможности того, что вы можете разработать с помощью Java, безграничны!Это то, что делает Java сегодня наиболее широко используемым языком в отрасли.Этот блог поможет вам разобраться в передаче по значению и передаче по ссылке в Java в следующей последовательности:

Сортировка stl c ++

Передача по значению и передача по ссылке в Java

Передача по значению и передача по ссылке - это два способа, с помощью которых мы можем передать значение переменной в функции.





  • Передавать по значению: Это процесс, в котором значения параметров функции копируются в другую переменную, а вместо этого передается скопированный объект. Это называется вызовом по значению.

  • Перейти по ссылке: Это процесс, в котором фактическая копия ссылки передается функции. Это называется ссылкой.



Говоря о Java, мы можем сказать, что Java - это передача по значению, а не по ссылке.

Мы проиллюстрируем приведенное выше утверждение программированием.

Иллюстрация с программой

Допустим, у нас есть класс Машина как показано ниже.



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}

Далее у нас есть программа, которая меняет местами два объекта.

public class Disp {public static void main (String [] args) {Автомобиль красный = новый Автомобиль ('Красный') Желтый воздушный шар = новый Воздушный шар ('Желтый') swap (красный, желтый) System.out.println ('красный цвет = '+ red.getColor ()) System.out.println (' желтый цвет = '+ yellow.getColor ()) desc (желтый) System.out.println (' желтый цвет = '+ 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} // метод обмена public static void swap (Object o1, Object o2) {Object temp = o1 o1 = o2 o2 = temp}}

Вывод

Красный цвет = красный

Желтый цвет = желтый

Желтый цвет = красный

Пояснение:

Как я уже говорил ранее, JAVA передается по значению, поэтому мы видим, что первые две строки в выводе метода swap () не работали. Давайте сделаем подробное объяснение кода.

Передача по значению и передача по ссылке в Java

Сначала мы создали экземпляр класса, используя новый оператор. Он создается, и значение сохраняется в ячейке памяти. Таким образом, этот экземпляр указывает на «красный» и «желтый» участок памяти объектов. Теперь, когда мы вызываем значения с новыми объектами o1 и o2, тогда он указывает на ячейку памяти двух объектов: «красный» и «желтый». Поэтому, когда сначала вызывается метод подкачки, он указывает на ячейку памяти «Red». В следующей строке ссылка на автомобиль изменяется на следующий адрес и указывается на «желтую» ячейку памяти. Поэтому они меняются местами на втором этапе, а не на первом. Вот почему JAVA называется передачей по значению, а не ссылкой.

Теперь, когда вы разобрались с передачей по значению и передачей по ссылке в Java, ознакомьтесь с от Edureka, надежной компании по онлайн-обучению с сетью из более чем 250 000 довольных учащихся по всему миру. Курс обучения и сертификации по Java J2EE и SOA от Edureka предназначен для студентов и профессионалов, которые хотят стать Java-разработчиками. Курс разработан, чтобы дать вам хорошее начало в программировании на Java и обучить вас как основным, так и продвинутым концепциям Java, а также различным средам Java, таким как Hibernate и Spring.

Есть вопрос к нам? Пожалуйста, укажите это в разделе комментариев к статье «Передача по значению и передача по ссылке в Java», и мы свяжемся с вами как можно скорее.