在Java中,方法的参数传递方式有两种:值传递和引用传递,对于基本数据类型(如int、float、double等),采用的是值传递;而对于对象类型(如数组、类对象等),采用的是引用传递。
1、值传递:当传递基本数据类型时,实际上是将变量的值复制一份传递给方法,这样在方法内部对参数进行修改,不会影响到原始变量的值。
示例代码:
public class ValuePassing { public static void main(String[] args) { int num = 10; System.out.println("Before method call, num = " + num); changeValue(num); System.out.println("After method call, num = " + num); } public static void changeValue(int value) { value = 20; } }
输出结果:
Before method call, num = 10 After method call, num = 10
2、引用传递:当传递对象类型时,实际上是将对象的引用(内存地址)传递给方法,这样在方法内部对参数进行修改,会影响到原始对象。
示例代码:
public class ArrayPassing { public static void main(String[] args) { int[] arr = {1, 2, 3}; System.out.println("Before method call, arr[0] = " + arr[0]); changeArray(arr); System.out.println("After method call, arr[0] = " + arr[0]); } public static void changeArray(int[] array) { array[0] = 10; } }
输出结果:
Before method call, arr[0] = 1 After method call, arr[0] = 10
对于基本数据类型,Java采用值传递;对于对象类型(包括数组),Java采用引用传递。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/762022.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复