java深入學習九之java方法傳遞引數

2021-08-08 18:00:40 字數 1111 閱讀 2871

1.例子1,傳遞基本型別

public

static

void

main

(string[

] args)

public

static

void

change

(int a)

//輸出4,沒有改變實際的引數,只是改變了形參,乙個實參的副本

2.例子2,傳遞乙個引用
public

class

tran

public

static

void

change

(value v)

}class

value

// 輸出1,由於傳遞乙個引用,與指標類似,可以看做位址,實參是乙個引用,

// 形參是副本,複製了這個位址,在方法裡,將這個位址指向的a的值修改為1,

// 所以最後也修改了實參的值。

3.例子3,傳遞乙個引用
public

class

tran

public

static

void

change

(value v)

}class

value

// 結果為1,這是因為實參把位址賦給形參,形參首先把這個位址,

// 也就是實參的a的值修改了,然後形參把自己的位址也修改了,

// 這時形參所指向的a的值就是10,而實參位址不變,指向的a還是1,最後輸出1.

4.例子4
public

class

tran

public

static

void

change

(a a,b b)

}class

aclassb}

//輸出 2

// 12

// a.a = 2會將a引用的a值改為2,實參中也改變了,a.b = new b(12)將a中b的引用指向乙個新的位址,

// 實參也改變了。接下來b.b = 20,將原來b的b值改變,已經影響不了a了。

深入學習java集合 ArrayList實現

1 arraylist類圖 arraylist是list介面的可變陣列的實現。實現了所有可選列表操作,並允許包括 null 在內的所有元素。除了實現 list 介面外,此類還提供一些方法來操作內部用來儲存列表的陣列的大小。每個arraylist例項都有乙個容量,該容量是指用來儲存列表元素的陣列的大小...

深入學習之http

http協議是無狀態的,指的是協議對於事務處理沒有記憶能力,伺服器不知道客戶端是什麼狀態。也就是說,開啟乙個伺服器上的網頁和你之前開啟這個伺服器上的網頁之間沒有任何聯絡。http是乙個無狀態的面向連線的協議,無狀態不代表http不能保持tcp連線,更不能代表http使用的是udp協議 無連線 從 h...

深入學習Java併發之一 併發學習總覽

重排序 為了提高程式處理效能 編譯器和處理器可能會對 執行順序進行亂序執行 int i 5 1 int k 1 2 int j 5 3 i 10 4 k i 5在如上 片中,1 2和3可以進行重排序。因為1和2都被賦值為了5,在機器碼層面上,可以取出5這個值,依次賦給i和j,再執行給k賦為1的操作,...