天天看點

java方法參數 引用傳遞_java中方法參數如何引用傳遞?圖文詳解

上次已經為大家介紹過java中的參數傳遞機制是什麼?執行個體展示的相關内容,今天在為大家介紹一些和參數有關的内容,也就是java中方法參數如何引用傳遞,并且通過生動的圖檔為大家展示。

一.首先為大家展示一段代碼,如下圖所示:

java方法參數 引用傳遞_java中方法參數如何引用傳遞?圖文詳解

由上可知,

1.在主方法中定義變量i,指派0.并執行function1();

2.可以看到在function1中我們對i進行了指派;

3.下面的function2類似,是對字元串進行指派;

輸出如下代碼:0

李白

二、原理如下:

1.方法中的參數清單是形參,和主方法中的變量(i和str)沒有關系。

2.以上面程式的function1為例,簡單地說:主程式中的function1(i),相當于function1(0),function1(i)隻是相當于把5作為參數傳過去執行方法,而方法中的參數不會導緻主方法中的變量有所改變。

3.function2(str)同理。

三、再為大家展示第二個代碼,如下圖:

java方法參數 引用傳遞_java中方法參數如何引用傳遞?圖文詳解

簡單做一個說明:book是一個實體類,這裡隻用到了book的name屬性。

輸出代碼如下:百萬個為什麼

百萬個為什麼

四、通過幾張圖檔更加生動地展示。

1.執行到book.name="十萬個為什麼"時,記憶體情況如下圖:

java方法參數 引用傳遞_java中方法參數如何引用傳遞?圖文詳解

2.執行完function1後,記憶體情況,如下圖:

java方法參數 引用傳遞_java中方法參數如何引用傳遞?圖文詳解

3.執行完function2後,記憶體情況,如下圖:

java方法參數 引用傳遞_java中方法參數如何引用傳遞?圖文詳解

總而言之,引用不會改變已聲明并定義的變量,也就是形參不會改變主方法中的實參。還有,位址的引用改變後會影響所有關于位址的引用。

以上就是關于java中方法參數如何引用傳遞的主要内容。想要了解更多java經典例子以及常見問題,敬請關注奇Q工具網。

推薦閱讀: