问答网

当前位置: 首页 > 知识问答 > 传值和传引用的区别

传值和传引用的区别

知识问答 浏览5次

传值和传引用是面向对象编程中两种不同的参数传递方式,传值是指将实参的值复制给形参,形参和实参是两个独立的变量,对其中一个变量的修改不会影响另一个变量,而传引用是指将实参的内存地址赋给形参,这样形参和实参就共享同一个内存空间,对其中一个变量的修改会影响另一个变量。

举个例子,假设有一个整数变量a和一个整数变量b,我们用一个函数swap来交换它们的值,如果使用传值方式,那么在函数内部对a或b进行修改时,另一个变量的值不会发生变化;而如果使用传引用方式,那么在函数内部对a或b进行修改时,另一个变量的值也会发生相应的变化。

以下是传值和传引用的Java代码示例:

// 传值示例public static void swapByValue(int a, int b) {    int temp = a;    a = b;    b = temp;}// 传引用示例public static void swapByReference(int a, int b) {    int temp = a;    a = b;    b = temp;}