黑馬程序員————面向對象初步

------Java培訓、Android培訓、iOS培訓、.Net培訓、期待與您交流! -------

面向對象初步:

一、成員變量和局部變量內存分配問題:

      當局部變量的代碼執行到時,會爲其開闢棧內存空間,一旦這段代碼執行完畢後,立刻會釋放 棧內存,也就是說,本來存在棧內存裏面的屬性之類的都會消失不見。


 而成員變量不同,只有在new對象時,纔會在堆內存中爲對象開闢空間,只要這個對象有被類 引用變了指向,那麼它就一直存在,當沒有引用變量指向它時,它就變成垃圾,但是並不會立  刻銷燬,只有等到虛擬機執行垃圾回收機制時,纔會釋放該對象的堆內存。

二、構造函數和構造代碼塊的問題:

 構造函數是給對象初始化,也就是說,對象一被new出來,就該具備那些屬性。所以構造函數 是最先被執行的。並且這函數不可隨意被調用,它只執行一次。

構造代碼塊是給所有對象初始化,也就是說,所有對象都有相同的屬性。構造代碼塊優先於構 造函數執行。

三、匿名類

 調用熟悉沒意義是因爲匿名對象沒有引用指向,垃圾回收機制會隨時將其處理。

 調用方法是可行的,因爲方法會執行。

 當匿名對象作爲參數傳入時,是有引用指向它的,所以它不是垃圾。但是當方法執行完成之 後,就沒有引用指向了,該對象會變成垃圾。等待JVM將其回收。


四 、this關鍵字

 this是代表自己,只有當自己的函數要調用自己函數的對象時,就會使用this。

 this函數必須放在第一行是因爲防止用戶傳進來的數值被this函數修改。

 當函數內嵌初始化函數時,要先執行內部的初始化,再執行自己初始化的函數。

 

              下面是我整理畫好的思維導圖:



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章