如何學好java

          如何學好java,其實很簡單,只要用心體會,慢慢積累!
          posts - 106, comments - 7, trackbacks - 0, articles - 3
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          java值傳遞和地址傳遞

          Posted on 2011-05-03 16:44 哈希 閱讀(279) 評論(0)  編輯  收藏 所屬分類: java 代碼
          public class StringBufferTest
          {
          public  void operater(StringBuffer x,StringBuffer y)
          {
          //string.append(String)字符串添加函數
          x.append(y);
          y=x;
          System.out.println("operater輸出:"+"a="+x+",b="+y);
          }
          public static void main(String [] args)
          {
          StringBuffer a=new StringBuffer("A");
          StringBuffer b=new StringBuffer("B");
          StringBufferTest test=new StringBufferTest();
          test.operater(a, b);
          System.out.println("main輸出:a="+a + ",b=" +b);
          }
          java的引用類型是地址傳遞,可是在operater中和main中輸出結果為什么不一樣呢?


          在main中 a => new StringBuffer("A"); b => new StringBuffer("B"); 在test.operater(a, b);這句,傳入的是兩個引用 在operater方法中,b被重新賦值了,即引用地址改變了 ================ 補充一下:java中任何一個對象變量只是指向創建的對象的一個引用 例如 String a = "KKK"; 那么 “KKK”是創建的String對象, a 則是這個對象的引用,或者說a保存對象“KKK”在內存中的地址

          “==”與“Equals”區別

          ==操作比較的是兩個變量的值是否相等,對于引用型變量表示的是兩個變量在堆中存儲的地址是否相同,即棧中的內容是否相同。 equals操作表示的兩個變量是否是對同一個對象的引用,即堆中的內容是否相同。 ==比較的是2個對象的地址,而equals比較的是2個對象的內容。 顯然,當equals為true時,==不一定為true;
          主站蜘蛛池模板: 淅川县| 额尔古纳市| 门源| 嘉黎县| 利津县| 洛南县| 游戏| 光泽县| 东乌珠穆沁旗| 民县| 旬阳县| 鄯善县| 平塘县| 黔江区| 花莲县| 那曲县| 宁乡县| 彭泽县| 新绛县| 宁安市| 时尚| 西昌市| 文成县| 柳河县| 夏河县| 罗江县| 长丰县| 石泉县| 镇赉县| 深水埗区| 鹤壁市| 永平县| 南通市| 云南省| 张家川| 白山市| 龙江县| 进贤县| 庐江县| 荣成市| 龙口市|