變數和引數傳遞

2022-08-30 13:30:16 字數 864 閱讀 1795

1     區域性變數和成員變數區別

區別一:定義的位置不同

定義在類中的變數是成員變數

定義在方法中或者{}語句裡面的變數是區域性變數

區別二:在記憶體中的位置不同

成員變數儲存在堆記憶體的物件中

區域性變數儲存在棧記憶體的方法中

區別三:生命週期不同

成員變數隨著物件的出現而出現在堆中,隨著物件的消失而從堆中消失

區域性變數隨著方法的執行而出現在棧中,隨著方法的彈棧而消失

區別四:初始化不同

成員變數因為在堆記憶體中,所有預設的初始化值

區域性變數沒有預設的初始化值,必須手動的給其賦值才可以使用。

public

class

girlfriend

}

1.基本型別作為引數傳遞時,其實就是將基本型別變數x空間中的值複製了乙份傳遞給呼叫的方法show(),當在show()方法中x接受到了複製的值,再在show()方法中對x變數進行操作,這時只會影響到show中的x。當show方法執行完成,彈棧後,程式又回到main方法執行,main方法中的x值還是原來的值。

2.當引用變數作為引數傳遞時,這時其實是將引用變數空間中的記憶體位址(引用)複製了乙份傳遞給了show方法的d引用變數。這時會有兩個引用同時指向堆中的同乙個物件。

public

class

demo01

//基本資料型別傳遞

public

static

void method01(int

a)

public

static

void

method02(person p)

}

python變數傳遞 Python引數傳遞

在 python 中,型別屬於物件,變數是沒有型別的 a 1,2,3 a runoob 以上 中,1,2,3 是 list 型別,runoob 是 string 型別,而變數 a 是沒有型別,她僅僅是乙個物件的引用 乙個指標 可以是指向 list 型別物件,也可以是指向 string 型別物件。可更...

ECMAScript變數訪問與傳遞引數

ecmascript變數包含兩種不同的型別的資料原始值和引用值。原始值就是最簡單的資料 undefined,null,boolean,number,string,symbol 引用值是由多個值構成的物件 object 儲存原始值的變數是按值訪問的,因為我們操作的就是儲存在變數中的實際值。引用值是儲存...

跳轉和傳遞引數

實現card之間跳轉的乙個基本方法是go,go和do anchor等標籤的結合是wml高階應用的乙個基礎。sendreferer 表示是否傳遞呼叫href所指定的url的頁面的url,也就是當前頁的url,即http頭中的http referer,預設值為false,可選值為true method ...