<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 89,  comments - 98,  trackbacks - 0
    值傳遞是在一個函數(shù)中,調(diào)用另外一個函數(shù),其中含有參數(shù)傳遞的情況。往往值傳遞就是把數(shù)據(jù)傳遞到另外一個函數(shù)中進行進一步處理,以更清楚地顯示函數(shù)的表達意思。在函數(shù)調(diào)用的時候會有數(shù)據(jù)傳遞,同樣要考慮形參和實參的問題,如下面的一個程序:
    <a target="_blank"><img src="/upimg/2006-05-07/142825_09_534.gif" width="468" height="60" border="0" /></a>

    public class PassTest

    {

    ??? float ptValue;

    ??? ?public void changeInt (int value)

    ??? {

    ?????????? value = 55;

    ??? }

    ??? ?public void changeStr (String value)

    ??? {

    ?????????? value = new String ("different");

    ??? }

    ??? public void changeObjValue (PassTest ref)

    ??? {

    ?????????? ref.ptValue = 99f;

    ??? }

    ??? public static void main (String args[])

    ??? {

    ?????????? String str;

    ?????????? intval;

    ?????????? PassTest pt = new PassTest ();

    ?????????? val = 11;

    ?????????? pt.changeInt (val);

    ?????????? System.out.println ("Int value is: " + val);

    ?????????? str = new String ("Hello");

    ?????????? pt.changeStr (str);

    ?????????? System.out.println ("Str value is: " + str);

    ?????????? pt.ptValue = 101f;

    ?????????? pt.changeObjValue (pt);

    ?????????? System.out.println ("Current ptValue is: " + pt.ptValue);

    ??? ?}

    }

      這個程序最后輸出的結(jié)果將是:

      11

      Hello

      99f

      開始的11和Hello就是遵循參數(shù)傳遞的原則,雖然改變了形參的值,但是實參卻不改變,這同C語言中是一樣的。那么如果想改變函數(shù)中的實參的值,那么應該怎么做呢?我們知道,在C語言中,我們可以采用指針變量,用指針變量作為函數(shù)的參數(shù),那么這樣,傳遞的就是參數(shù)存放的地址,那么在函數(shù)中改變同一地址的參數(shù)值的時候,就不會發(fā)生錯誤,可是,在java中沒有指針的說法,那么,要實現(xiàn)上述C語言的做法,應該怎么處理呢?我們知道,java中處處都是考慮對象的,句柄是用來操作對象的活動的,那么我們?nèi)绻麑ο蟮木浔鷤鬟f到函數(shù)中去,就可以使兩者指向同一個句柄(也就是地址),這樣就可以完成數(shù)據(jù)的修改了。見上面的程序,我們可以知道,pt是主函數(shù)中創(chuàng)建的PassTest的對象,通過傳遞它,就可以完成地址的傳遞,子函數(shù)中,ref與主函數(shù)的pt指向的其實是一個內(nèi)存單元,那么修改ref中的ptValue的值,也就是修改pt中的ptValue的值,即使沒有最后的數(shù)據(jù)返回,這個數(shù)據(jù)也是會改變的。

    posted on 2006-07-21 15:54 水煮三國 閱讀(307) 評論(1)  編輯  收藏 所屬分類: J2EE

    FeedBack:
    # re: JAVA當中的值傳遞
    2006-07-21 15:56 | 水煮三國
    java當中的值傳遞不會改變本函數(shù)聲明的參數(shù)值,而在被調(diào)用函數(shù)當中參數(shù)的改變不會影響到本函數(shù)的參數(shù)值。

    而被調(diào)用函數(shù)當中的是一個本函數(shù)參數(shù)值聲明的值的一個考貝。  回復  更多評論
      

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導航:
    博客園   IT新聞   Chat2DB   C++博客   博問  
     
    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    常用鏈接

    留言簿(4)

    隨筆分類(85)

    隨筆檔案(89)

    文章分類(14)

    文章檔案(42)

    收藏夾(37)

    java

    oracle

    Sybase

    搜索

    •  

    積分與排名

    • 積分 - 210940
    • 排名 - 266

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 国产精品永久免费| 女人张腿给男人桶视频免费版| 久久青青成人亚洲精品| 国产电影午夜成年免费视频| 亚洲AV成人无码网站| 亚洲精品无码成人AAA片| 91成年人免费视频| 久久免费视频一区| 亚洲人成小说网站色| 国产专区一va亚洲v天堂| 亚洲精品视频在线观看免费| 成在线人直播免费视频| 亚洲第一页在线播放| 亚洲A丁香五香天堂网| 国产电影午夜成年免费视频| 久青草视频97国内免费影视| 国产成+人+综合+亚洲专| 国产亚洲精品精华液| 国产在线19禁免费观看| 久久A级毛片免费观看| 一区二区三区视频免费| 中文字幕亚洲综合小综合在线| 亚洲性久久久影院| 卡一卡二卡三在线入口免费| 久久免费公开视频| 一个人看的在线免费视频| 亚洲人成电影网站免费| 18亚洲男同志videos网站| 国产亚洲精品a在线观看| 国产高清视频在线免费观看| 亚洲精品视频在线观看免费| 国产色无码精品视频免费| 日韩精品亚洲专区在线影视| 亚洲av午夜精品无码专区| 亚洲嫩草影院久久精品| av在线亚洲欧洲日产一区二区| 成全高清视频免费观看| 中文字幕在线免费| a级毛片无码免费真人久久| 一级毛片视频免费| 国产精品久久久久久亚洲小说|