<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 閱讀(136) 評論(0)  編輯  收藏 所屬分類: Basic Study for JAVA
      主站蜘蛛池模板: 亚洲免费在线视频观看| 色欲A∨无码蜜臀AV免费播| 最近中文字幕mv手机免费高清| 亚洲AV永久无码精品成人| 黄色视屏在线免费播放| 久久精品国产亚洲5555| 一级黄色片免费观看| 亚洲国产天堂久久综合| 午夜免费国产体验区免费的| 亚洲av午夜精品一区二区三区| 免费国产高清毛不卡片基地| 亚洲av再在线观看| 日本高清不卡aⅴ免费网站| 亚洲AV无码乱码在线观看裸奔 | 亚洲AV无码精品色午夜果冻不卡| 久青草视频在线观看免费| 亚洲另类激情综合偷自拍图| 青青青国产手机频在线免费观看 | 最近免费中文字幕MV在线视频3 | 亚洲最大的黄色网| 日韩成人免费aa在线看| 免费人人潮人人爽一区二区 | 久久久久亚洲AV无码观看 | 无码毛片一区二区三区视频免费播放 | 亚洲91av视频| 无码日韩精品一区二区免费| 亚洲高清一区二区三区电影| 久久久久亚洲av毛片大| 3d成人免费动漫在线观看| 亚洲精华液一二三产区| 国产亚洲精品激情都市| 4虎1515hh永久免费| 白白色免费在线视频| 国产亚洲3p无码一区二区| 麻豆视频免费播放| 羞羞视频网站免费入口| 亚洲高清国产AV拍精品青青草原| 亚洲一区免费视频| 日韩在线一区二区三区免费视频 | 72pao国产成视频永久免费| 久久水蜜桃亚洲av无码精品麻豆|