方法引數的呼叫是值呼叫而不是引用呼叫
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...