JAVA是一種面向對象的編程語言,它支持值傳遞和引用傳遞兩種參數傳遞方式。
值傳遞是指將實際參數的值復制一份傳遞給形式參數,在方法內部改變形式參數的值不會影響實際參數的值,因為形式參數和實際參數是兩個獨立的內存空間。下面是一個示例:
public class Test { public static void main(String[] args) { int x = 10; changeValue(x); System.out.println(x); // 輸出結果為10,說明實際參數的值并沒有改變 } public static void changeValue(int a) { a = 5; } }
引用傳遞是指將實際參數的地址復制一份傳遞給形式參數,在方法內部改變形式參數所指向的對象的屬性值會改變實際參數所指向的對象的屬性值,因為形式參數和實際參數指向的是同一個內存空間。下面是一個示例:
public class Test { public static void main(String[] args) { int[] arr = {1, 2, 3}; changeValue(arr); System.out.println(Arrays.toString(arr)); // 輸出結果為[5, 2, 3],說明實際參數的值被改變了 } public static void changeValue(int[] arr) { arr[0] = 5; } }
在JAVA中,基本數據類型(如int、float、double等)都是采用值傳遞方式進行參數傳遞,而非基本數據類型(如數組、對象等)都是采用引用傳遞方式進行參數傳遞。