java--對象引用與對象的區別

1、前言
       在java學習中,理解對象以及對象的引用是萬里長征的第一步。可是,如今大量的java學習書籍都將對象以及對象的引用混爲一談,然而實際上它們有着本質的區別。爲了幫助更多的java學者更好的理解,我將本身的學習理解記錄下來。若有理解不全或者錯誤的地方,歡迎你們批評指正。
2、分析對象引用與對象的區別
       爲了接下來進行更好的分析,我先創建一個Demo類,用於後面的分析。
    
    
    
    
  1. }

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();//建立對象

  3、對象引用與對象之間的關係
       1)從對象引用出發:
             一個對象引用能夠指向一個對象     
        
        
        
        
Demo demo//一個對象引用 demo=new Demo();//一個對象引用指向一個對象
                        也能夠不指向對象。  
          
          
          
          
Demo demo;//建立對象引用,可是沒有指向對象
2)從對象出發:
             一個對象能夠被一個對象引用引用  
   
   
   
   
Demo demo;//建立對象引用 demo=new Demo();//建立對象,並被一個對象引用指向
                    也能夠被多個對象引用同時引用
      
      
      
      
Demo demo1demo2demo3;//建立多個對象引用 demo1=new Demo(); demo2=demo1; demo3=demo2;//建立對象,並被多個對象引用指向
相關文章
相關標籤/搜索