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

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

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

    qileilove

    blog已經轉移至github,大家請訪問 http://qaseven.github.io/

    淺談Java中的對象和對象引用

     在Java中,有一組名詞經常一起出現,它們就是“對象和對象引用”,很多朋友在初學Java的時候可能經常會混淆這2個概念,覺得它們是一回事,事實上則不然。今天我們就來一起了解一下對象和對象引用之間的區別和聯系。
      1.何謂對象?
      在Java中有一句比較流行的話,叫做“萬物皆對象”,這是Java語言設計之初的理念之一。要理解什么是對象,需要跟類一起結合起來理解。下面這段話引自《Java編程思想》中的一段原話:
      “按照通俗的說法,每個對象都是某個類(class)的一個實例(instance),這里,‘類’就是‘類型’的同義詞。”
      從這一句話就可以理解到對象的本質,簡而言之,它就是類的實例,比如所有的人統稱為“人類”,這里的“人類”就是一個類(物種的一種類型),而具體到每個人,比如張三這個人,它就是對象,就是“人類”的實例。
      2.何謂對象引用?
      我們先看一段話:
      “每種編程語言都有自己的數據處理方式。有些時候,程序員必須注意將要處理的數據是什么類型。你是直接操縱元素,還是用某種基于特殊語法的間接表示(例如C/C++里的指針)來操作對象。所有這些在 Java 里都得到了簡化,一切都被視為對象。因此,我們可采用一種統一的語法。盡管將一切都“看作”對象,但操縱的標識符實際是指向一個對象的“引用”(reference)。”
      這段話來自于《Java編程思想》,很顯然,從這段話可以看出對象和對象引用不是一回事,是兩個完全不同的概念。舉個例子,我們通常會用下面這一行代碼來創建一個對象:
      Person person = new Person("張三");
      有人會說,這里的person是一個對象,是Person類的一個實例。
      也有人會說,這里的person并不是真正的對象,而是指向所創建的對象的引用。
      到底哪種說法是對的?我們先不急著糾結哪種說法是對的,再看兩行代碼:
      Person person;
      person = new Person("張三");
      這兩行代碼實現的功能和上面的一行代碼是完全一樣的。大家都知道,在Java中new是用來在堆上創建對象用的,如果person是一個對象的話,那么第二行為何還要通過new來創建對象呢?由此可見,person并不是所創建的對象,是什么?上面的一段話說的很清楚,“操縱的標識符實際是指向一個對象的引用”,也就是說person是一個引用,是指向一個可以指向Person類的對象的引用。真正創建對象的語句是右邊的new Person("張三");
      再看一個例子:
      Person person;
      person = new Person("張三");
      person = new Person("李四");
      這里讓person先指向了“張三”這個對象,然后又指向了“李四”這個對象。也就是說,Person person,這句話只是聲明了一個Person類的引用,它可以指向任何Person類的實例。這個道理就和下面這段代碼一樣:
      int a;
      a=2;
      a=3;
      這里先聲明了一個int類型的變量a,先對a賦值為2,后面又賦值為3.也就是說int類型的變量a,可以讓它的值為2,也可以為3,只要是合法的int類型的數值即可。
      也就是說,一個引用可以指向多個對象,而一個對象可不可以被多個引用所指呢?答案當然是可以的。
      比如:
      Person person1 = new Person("張三");
      Person person2 = person1;
      person1和person2都指向了“張三”這個對象。
      關于對象和對象引用的區別和聯系暫時就講這么多了,感興趣的朋友可以查閱相關文檔和資料。

    posted on 2014-05-08 16:46 順其自然EVO 閱讀(129) 評論(0)  編輯  收藏 所屬分類: 測試學習專欄

    <2014年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    導航

    統計

    常用鏈接

    留言簿(55)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲AV无码乱码在线观看富二代| 精品国产免费人成网站| 久9热免费精品视频在线观看| 亚洲av无码专区在线观看素人| 亚洲AV无码乱码在线观看代蜜桃| 精品一区二区三区免费毛片爱| 亚洲AV无码精品无码麻豆| 爽爽爽爽爽爽爽成人免费观看| 在线亚洲午夜理论AV大片| 巨胸喷奶水视频www免费视频 | 成人免费无码大片a毛片| 亚洲成av人片在线看片| 久久受www免费人成_看片中文| 国产亚洲国产bv网站在线| 巨胸喷奶水视频www网免费| 欧美亚洲国产SUV| 亚洲XX00视频| 久久国产精品免费一区二区三区| 亚洲第一极品精品无码久久| 久久国产精品萌白酱免费| 97久久精品亚洲中文字幕无码| www.黄色免费网站| 亚洲AV无码之国产精品| 亚洲色婷婷综合开心网| 日本免费在线观看| 亚洲色精品VR一区区三区| 亚洲国产精品人人做人人爽| 一个人免费视频观看在线www| 亚洲国产精品专区| 宅男666在线永久免费观看| 中文字幕看片在线a免费| 亚洲欧洲精品在线| 免费va人成视频网站全| 国产婷婷成人久久Av免费高清 | 色片在线免费观看| 日韩在线观看免费| 久久亚洲精品国产精品| 青青青国产免费一夜七次郎| 国产久爱免费精品视频| 亚洲另类视频在线观看| AV在线播放日韩亚洲欧|