對Java對象的認識與理解

來源:互聯網
上載者:User

標籤:通過   初始化   技術   沒有初始化   程式   空間   color   堆棧   學習java   

   今天是我學習編程以來第一次寫部落格,記下平日學習所得,本來這幾日都在學習web架構 但覺得梳理一下之前所學很有必要。畢竟之前學習Java感覺很粗略只是以考試為目的。所以就以《Thinking in Java》一書為主對Java從頭鞏固一下。查缺補漏的同時更能加深理解。

 

  一切都是對象

  在C++中我們知道用指標操控對象,但在Java中幾乎一切都是對象,這就簡化了文法。但需要注意的是Java中我們是通過操縱標識符來操縱對象。也就是標識符其實是對對象的一個引用。一定要有引用才能操縱對象,但是有引用可以沒對象。也就是我們可以擁有一個引用但不一定要與一個對象相關聯。例如

1 String s;

 

  此事給s發送資訊就會報錯,因為這個引用是空的。所以編寫程式時為了安全通常建立引用都要初始化。

  而當我們建立引用時通常用new操作符來關聯一個對象。而且new不僅建立了對象還給出了怎樣產生這個對象的資訊。所以在Java中所有的對象都是我們自己建立的。Java提供了大量類型我們自己也可以建立類型。但是這些類型有些程式設計中會經常用到需要特殊對待,這一系列類型就是基本類型。而之所以特殊對待是因為new是將Object Storage Service在堆中。而這對一些簡單的小的變數不是很有效。所以對這種類型Java與C++一樣是建立了一個不是引用的變數,這個變數儲值並直接置於堆棧中。所以每種基本類型的儲存空間大小是不變的。每個基本類型都有封裝器類可以在堆中建立與基本類型對應的對象,而在之後我會詳述封裝基本類型的原因。

         

  Java中值得注意的一點是我們不需要去銷毀對象,所有的清理工作都由Java自己去完成。

   1 { 2 String s = new String("1"); 3 }//範圍終點 引用s在範圍終點消失了,而s指向的對象仍佔據記憶體空間。實際上用new建立的對象是會一直保留下去,只要你需要,因為Java本身的記憶體回收機制所以我們不需擔心釋放記憶體的事。

  類

   既然Java中一切都是對象,那麼我們就用類來決定一類對象的外觀和行為。而在Java中,我們所做的工作就是定義類,產生那些類的對象以及發送資訊給那些對象。而定義一個類就可以在類中設定兩種元素:欄位和方法。而當類的某個成員是基本類型時且沒有初始化Java也會給他一個預設值。但這種初始化的方法並不適用於方法中。

  第一次寫博不太懂排版,也不想寫太多,權當筆記了。

對Java對象的認識與理解

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.