關於形參和實參 java基礎

2021-08-20 10:58:34 字數 1011 閱讀 3862

引用型別資料和基本型別資料作為引數傳遞是有區別的,

class demo1

public static void show(int a)

}

輸出結果仍為4

基本資料型別作為引數傳遞時,就是將基本型別變數實參a空間中的值傳遞給呼叫的方法

show()

,當在show()

方法中a視為形參,

接受到值後,再在

show()

方法中對

a變數進行操作,這時只會影響到

show

中的形參a。當

show

方法執行完成,彈棧後,程式又回到

main

方法執行,

main

方法中的實參

a值還是原來的值。

當引用資料型別變數作為引數傳遞時,這時其實是將引用變數空間中的記憶體位址(引用

)傳遞給了

show

方法的d

引用變數。這時會有兩個引用同時指向堆中的同乙個物件。當執行

show

方法中的

d.a=6

時,會根據

d所持有的引用找到堆中的物件,並將其

a屬性的值改為

6.show

方法彈棧。

由於是兩個引用指向同乙個物件,不管是哪乙個引用改變了引用的所指向的物件的中的值,其他引用再次使用都是改變後的值。

所以,基本資料型別作為引數傳遞時,形參的改變不影響實參的改變,而引用資料型別作為引數傳遞時,形參改變,實參也相應的做出改變

java 形參 實參

實參 直接值傳遞 string 八大基礎資料型別 形參是定義方法的時候,該方法所攜帶的引數,不如說現在有乙個方法 public void printinfo string info 此處info就是乙個形參,它是string型別的。實參是你在呼叫方法的時候,給這個方法傳遞的引數值,比如說有這麼乙個語...

java形參實參

摘自 一 基本資料型別 傳值,方法不會改變實參的值。如int,string 二 物件型別引數 傳引用,方法體內改變形參引用,不會改變實參的引用 但有可能改變實參物件的屬性值 string陣列 1 方法體內改變形參引用,但不會改變實參引用 實參值不變。2 方法體內,通過引用改變了實際引數物件的內容,注...

Java變數,形參,實參

成員變數定義在類中,在整個類中都可以被訪問。成員變數分為類成員變數和例項成員變數,例項變數存在於物件所在的堆記憶體中,類成員變數也叫靜態變數,存在於靜態域內。成員變數有預設初始化值。成員變數的許可權修飾符可以根據需要,選擇任意乙個。區域性變數只定義在區域性範圍內,如 方法的形參,方法內的變數,塊內的...