JAVA怎么在函数内改变传入的值
public class TestInt { public int aa(int i) { return i+4; } public static void main(String [] args) { int i=3; aa(i); System.out.println(i); } }
主函数main()这个静态方法无法
引用非静态方法 aa(int)的。
函数调用时,参数传递的方式主要有两种: 值传递和引用传递。
Java使用的是值传递。值传递是把变量的值、常数或常量传递给参数。而引用传递,是把变量的所在内存中的地址传递给参数,参数通过地址找到变量的值。
无论是在C、c++还是java中传值是无法改变实参的值的,
就比如要交换两个整型数的值。
java中得通过传引用的方式改变实参的值。
所以可以传通过数组这种引用方式来改变实参的值!
public class TestInt { public static void aa(int[] i) { i[0] += 4; } public static void main(String [] args) { int[] i= {3}; aa(i); System.out.println(i[0]); } }