到底什么是對象,什么是對象的引用?對象和對象的引用有那些區別?


一、分析對象引用與對象的區別

為了接下來進行更好的分析,我先建立一個Demo類,用於后面的分析。

 public class Demo{
    //默認構造方法
    public Demo{
    }

接下來,我們用Demo類來創建一個對象。 

Demo demo=new Demo();

這一條語句,其實包括了四個動作:
1)右邊的“new Demo”,是以Demo類為模板,在堆空間里創建一個Demo對象。
2)末尾的()意味着,在對象創建后,立即調用Demo類的構造函數,對剛生成的對象進行初始化。
3)左邊的“Demo demo”創建了一個Demo類引用變量,它存放在棧空間中。也就是用來指向Demo對象的對象引用。
4)“=”操作符使對象引用指向剛創建的那個Demo對象。

當然這條語句我們也可以寫成:

Demo demo;//創建對象引用
demo=/*將對象引用指向對象*/new Demo();//創建對象

這樣顯得更加清晰了。

二、對象引用與對象之間的關系

   1)從對象引用出發:
         一個對象引用可以指向一個對象 
Demo demo;//一個對象引用
demo=new Demo();//一個對象引用指向一個對象

  也可以被多個對象引用同時引用。

Demo demo1,demo2,demo3;//創建多個對象引用
demo1=new Demo();
demo2=demo1;
demo3=demo2;//創建對象,並被多個對象引用指向

這樣一看就一目了然了。
**
原文作者鏈接   https://blog.csdn.net/qq_26805137/article/details/52945688**


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM