Java傳值和傳引用 張三和李四的故事

2021-05-11 18:24:09 字數 957 閱讀 1411

下面開講故事: 

從前有個房間,房間裡有份文件,房間還有一把鑰匙。 這把鑰匙在張三手裡。 

這時李四來向張三要那份文件。 張三不太喜歡李四,但又怕耽誤了

工作不好交代。於是張三就把房間裡文件的文件影印了乙份,然後把那個影印件交給了李四(這叫傳值)。 

李四拿到文件後(影印件),胡亂修改一番,心想:張三,這回要你好看。可是他沒想到那份原件還好好的在張三的房間裡鎖著呢。

以上故事對應:

public

static

void

counter(

int

count)  

這個李四不甘心,於是他偷偷地配了一把張三的鑰匙(這叫傳引用), 準備進入房間修改那份文件。

這事被張三及時發現,他悄悄的把李四配的鑰匙換成了另外乙個房間的鑰匙。

李四去了錯誤的房間。 張三再次以勝利告終! 

以上故事對應:

public

static

void

changea1(

int

ints)  

李四鍥而不捨,他趁張三還沉浸兩次勝利的喜悅裡,終於成功的配了鑰匙(這叫傳引用),達到了修改那份文件原件的目的。

以上故事對應:

public

static

void

changea2(

int

ints)

故事講完了。 這裡需要注意的是無論是傳值還是傳引用,傳的都是複本(文件影印件或配的鑰匙)。

Java 傳值和傳引用的區別

首先對傳值和傳引用要有個基本的概念 直接上 更好的理解兩者的區別。首先看傳基本資料型別,如int long等。基本資料型別 public class paramchangevalue private static void change int i 輸出 args 1 args 1 從輸出的的結果中...

傳值,傳址和傳引用

傳值方式 將實參的值拷貝給函式或方法,在函式內對形參進行操作,操作的物件是實參的拷貝,對實參本身沒有影響,在函式結束返回後,形參被丟棄釋放,實參的內容不會被改變。c 一條基本原則 在預設情況下,引數只能以值傳遞的方式給函式,被傳遞到函式的只是變數的值,永遠不會是變數本身。void exchange ...

傳值 傳址和傳引用

在編寫個人函式的時候,你將受到c 中一條基本原則的限制 在預設的情況下,引數只能以值傳遞的方式給函式。這句話的理解是 被傳遞到函式的只是變數的值,永遠不會是變數本身。舉例如下 include void changeage int age,int newage 如果想要實現計畫功能,需要怎麼改?mai...