如何學好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;
          主站蜘蛛池模板: 龙口市| 二手房| 平阴县| 黑山县| 长宁区| 连云港市| 环江| 茌平县| 盖州市| 内乡县| 临洮县| 会宁县| 闵行区| 抚顺县| 清新县| 乐山市| 道孚县| 曲水县| 桂阳县| 逊克县| 克山县| 香格里拉县| 巴南区| 得荣县| 桐城市| 陈巴尔虎旗| 额尔古纳市| 奎屯市| 健康| 灌云县| 曲靖市| 东光县| 龙泉市| 开阳县| 宁晋县| 响水县| 古田县| 宁国市| 惠安县| 井研县| 河池市|