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

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

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

    BloveSaga

    在希臘帕爾納斯山南坡上,有一個馳名世界的戴爾波伊神托所,在它的入口處的巨石上赫然銹刻著這樣幾個大字: 認識你自己!

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      34 隨筆 :: 12 文章 :: 122 評論 :: 0 Trackbacks
    ~~~~~~~~~~~~~~~~~~~~~~~~~~函數的調用~~~~~~~~~~~~~~~~~~~~
    1> 在java中,傳參時,都是以傳值的形式驚行。
    2> 對于基本數據類型,傳遞的是數據的拷貝,對于引用類型,傳遞的引用的拷貝。
    3> 當我們在打印一個對象的時候,比如System.out.println(pt);,它會自動調用類的toString()方法
    ?? ,所以建議在所有的子類中重寫toString()方法。
    我們寫一個函數用來交換兩個變量(x,y)的值.
    ?code:
    class StringTest
    {
    ?public static void change(int x, int y)
    ?{
    ??x=x+y;
    ??y=x-y;
    ??x=x-y;
    ?}
    ?/*
    ?public static void change(int[] num)
    ?{
    ??num[0]=num[0]+num[1];
    ??num[1]=num[0]-num[1];
    ??num[0]=num[0]-num[1];
    ?}
    ?public static void change(Point pt)
    ?{
    ??pt.x=pt.x+pt.y;
    ??pt.y=pt.x-pt.y;
    ??pt.x=pt.x-pt.y;
    ?}
    ?*/
    ?public static void main(String[] args)
    ?{
    ?int x=3;
    ?int y=4;
    ?change(3,4);
    ?System.out.println("x="+x+","+"y="+y);
    ?}
    我們期望的輸出結果是 x=4,y=3 然后你運行后發現結果為x=3,y=4,并沒有達到我們的要求,為什么呢?那是因為對于基本數據類型,傳遞的是數據的拷貝,對于引用類型,傳遞的是引用(首地址)的拷貝。看看下面的內存圖解應該你就能看出來了.看看引用類型怎么來實現:


    code:
    class StringTest
    {
    ?/*
    ?public static void change(int x, int y)
    ?{
    ??x=x+y;
    ??y=x-y;
    ??x=x-y;
    ?}
    ?*/
    ?public static void change(int[] num)
    ?{
    ??num[0]=num[0]+num[1];
    ??num[1]=num[0]-num[1];
    ??num[0]=num[0]-num[1];
    ?}
    ?public static void change(Point pt)
    ?{
    ??pt.x=pt.x+pt.y;
    ??pt.y=pt.x-pt.y;
    ??pt.x=pt.x-pt.y;
    ?}
    ?public static void main(String[] args)
    ?{
    ??/*
    ?? int x=3;
    ?? int y=4;
    ?? change(3,4);
    ?? System.out.println("x="+x+","+"y="+y);
    ?? */
    ?? int[] num=new int[]{3,4};
    ?? change(num);
    ?? System.out.println("x="+num[0]+","+"y="+num[1]);
    ??
    ?? Point pt=new Point();
    ?? pt.x=3;
    ?? pt.y=4;
    ?? change(pt);
    ?? System.out.println("x="+pt.x+","+"y="+pt.y);?
    ?}
    class Point
    {
    ?int x,y;?
    }
    再看看引用類型的內存變化圖:
    以上說明了在Java中函數的調用:
    a> 在Java中,傳參時,都是以傳值的方式進行。
    b> 對于基本數據類型,傳遞的是數據的拷貝,對于引用類型,傳遞的是引用(首地址)的拷貝。
    posted on 2006-06-05 04:19 藍色Saga 閱讀(132) 評論(0)  編輯  收藏 所屬分類: Basic Study for JAVA
    主站蜘蛛池模板: 免费人成大片在线观看播放电影| 两性色午夜免费视频| gogo全球高清大胆亚洲| 中文字幕无线码免费人妻| 亚洲欧洲校园自拍都市| 国产人妖ts在线观看免费视频| 中文字幕视频免费在线观看 | 在线亚洲午夜理论AV大片| 99精品视频免费在线观看| 亚洲精品理论电影在线观看| 亚洲欧洲成人精品香蕉网| 97人妻无码一区二区精品免费| 日本永久免费a∨在线视频| 91天堂素人精品系列全集亚洲| 又爽又黄无遮挡高清免费视频| 无码人妻AV免费一区二区三区| 日本亚洲中午字幕乱码| 久久亚洲精品国产精品| 国产一区在线观看免费| 99无码人妻一区二区三区免费 | 好男人视频在线观看免费看片| EEUSS影院WWW在线观看免费| 亚洲一区二区久久| 亚洲午夜久久久影院| 日韩免费福利视频| 四虎最新永久免费视频| a毛片在线免费观看| 日日摸日日碰夜夜爽亚洲| 2020国产精品亚洲综合网| 亚洲av永久无码精品网站 | 天天摸夜夜摸成人免费视频| 久久久久久AV无码免费网站 | 亚洲黄色激情视频| 亚洲国产精品自在线一区二区| 免费看小12萝裸体视频国产| 91在线视频免费看| 日本视频一区在线观看免费| 成人电影在线免费观看| 一个人免费观看www视频| 亚洲精品久久久久无码AV片软件| ww亚洲ww在线观看国产|