The content of this article is about the analysis of the difference between value passing and reference passing (address passing) in Java (with code). It has certain reference value. Friends in need can refer to it. I hope It will help you.
Value passing (pass by value) refers to passing the actual parameters # when calling a function ##Copy Pass a copy to the function, so that if the parameters are modified in the function, the actual parameters will not be affected. The transferred objects are often basic data structures such as integer floating point and character types.
public class PassByValueReference { //值传递 public static void main(String[] args) { int x = 9; pass(x); System.out.println(x); } private static void pass(int y) { System.out.println(y); y=0; } }
Pass by reference (pass by reference) refers to passing the address of the actual parameters directly to the function when calling the function , then the modifications made to the parameters in the function will affect the actual parameters. (Similar to a community) The transferred object is often an address data structure such as an array.
public class PassByValueReference { //引用传递 public static void main(String[] args) { int [] x = {9}; System.out.println(x[0]); pass(x); System.out.println(x[0]); } public static void pass(int [] y) { y[0] = 0; } }
public class PassByValueReference { //值传递(赋值非函方式) public static void main(String[] args) { int x = 9; System.out.println(x); y = x; y = 10; System.out.println(x); } }
public class PassByValueReference { //引用传递(赋值非函方式) public static void main(String[] args) { int [] x = {1}; System.out.println(x[0]); int [] y = x; y[0] = 0; System.out.println(x[0]); } }
Detailed explanation of Java value passing and reference passing
java software engineer learns php -13. Value passing Passing by reference
The above is the detailed content of Analysis of the difference between passing by value and passing by reference in Java (with code). For more information, please follow other related articles on the PHP Chinese website!