java中值傳遞和引用傳遞

java中方法內部修改變量說明:java

一、對於基本類型參數,在方法體內對參數進行從新賦值,並不會改變原有變量的值測試

二、對於引用類型參數,在方法體內對參數進行從新賦予引用,並不會改變原有變量所持有的引用。 spa

三、方法體內對參數進行運算,不影響原有變量的值。 code

四、方法體內對參數所指向對象的屬性進行操做,將改變原有變量所指向對象的屬性值。 
--------------------- 對象


public class Main {

private static void getMiddleOne(boolean b, Boolean boo, Boolean[] arr){
b = true; //形參,不會改變原有值
boo = new Boolean(true); //引用變量的直接操做至關於值傳遞,不會改變原來的引用變量
arr[0] = true; //引用變量的屬性的操做,會改變原有引用的屬性,至關於傳址調用
}

//測試
public static void main(String[] args) {
boolean b = false;
Boolean boo = new Boolean(false);
Boolean[] arr = new Boolean[]{false};

getMiddleOne(b, boo, arr);

System.out.println(b);
System.out.println(boo.toString());
System.out.println(arr[0]);

/**
* output:
* false
* false
* true
*/
}blog

相關文章
相關標籤/搜索