传值和传引用是面向对象编程中两种不同的参数传递方式,传值是指将实参的值复制给形参,形参和实参是两个独立的变量,对其中一个变量的修改不会影响另一个变量,而传引用是指将实参的内存地址赋给形参,这样形参和实参就共享同一个内存空间,对其中一个变量的修改会影响另一个变量。
举个例子,假设有一个整数变量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;}