方法引數的呼叫是值呼叫而不是引用呼叫

2021-07-07 09:49:40 字數 679 閱讀 1919

方法引數的呼叫是值呼叫而不是引用呼叫

package com.ray.object;

/** * 方法引數的呼叫是值呼叫,而不是引用呼叫

* * @author ray

* @since 2015-04-22

* @version 1.0

* */

public class person

public static void main(string args) throws exception

}

輸出:--bill:com.ray.object.person@1fb8ee3

**jack:com.ray.object.person@61de33

a:com.ray.object.person@61de33

b:com.ray.object.person@1fb8ee3

--bill:com.ray.object.person@1fb8ee3

**jack:com.ray.object.person@61de33

從上面的輸出結果可以看見,在swap方法裡面,兩個引數的確是已經調換了,但是由於引數是物件,所有呼叫的時候是值呼叫,而不是引用呼叫,

只不過引數返回的值變動了,但是相應的物件還是沒有變,因此,最後的結果兩個物件是沒有調換過來

方法呼叫中引數和返回值的問題

引數型別 1.基本資料型別 呼叫時要求什麼型別就傳遞什麼型別。或者能自動型別轉換 2.普通類 類的物件或子類物件。3.抽象類 一定是子類物件。4.介面 實現 可以是直接實現,也可以是間接實現 了該介面的物件。返回值型別 1.基本資料型別 要什麼型別返回什麼型別。或者自動型別轉換 2.普通型別 類的物...

呼叫方法時引數的傳遞

呼叫方法時,傳遞給方法的變數如果是基本型別,傳入到方法中後就是該方法的區域性變數,在呼叫時會在記憶體中開闢新的空間去儲存,所以對於引數名與成員變數一致的情況下,方法中改變的變數的值是與成員變數不衝突的,也就是不會影響到成員變數,除非使用this關鍵字來指向成員變數!下面是 示例 public cla...

C 執行緒呼叫帶引數的方法

c 執行緒呼叫帶引數的方法 2 2007年06月15日 星期五 下午 11 24 個人認為,還是為執行緒建立乙個單獨的類,在類的初始化函式裡頭為類裡頭的變數賦值,來達到傳入引數比較簡單。下面有些方法是有問題的,不過我已經達到了目的就懶得去排錯了,哪位朋友看出問題了提醒一下啊。呵呵.方法一 在vs20...