《複習總結》 張倫琦
首先我來回顧一下腦海中所有這兩天的知識點:
面向對象
Private關鍵字
This關鍵字
靜態變量
成員變量
局部變量
靜態代碼塊
構造代碼塊
局部代碼塊
靜態方法
構造方法
成員方法
總結一下就是:一個思想,兩個關鍵字,三個變量,三個代碼塊,三個方法。
最先看下面向對象的思想,核心我感覺就是做好數據的保護,然後自己做大爺去用方法。
看下兩個關鍵字吧:
Private關鍵字,最大的感覺就是保護數據安全性,不讓使用者隨意改動。
This關鍵字,一個是this.一個是this(),第一個用發的意思很簡單,可以理解爲地址,其實就是一個地址,是當前對象的地址,切記是對象的地址,隱式調用。This()呢,主要是用於構造函數的調用,在一個構造函數中調用另一個重載的構造函數可以也只能用this(),不然會報錯!
接下來就是三個變量:
靜態變量:隨類生成,隨類消失
成員變量:隨成員生成,隨成員消失
局部變量:隨方法生成,隨方法消失,最好記的就是它所屬的最內的一層花括號就是局部變量的作用範圍
然後是三個代碼塊:
靜態代碼快:隨類生成,隨類消失,並且只在類生成的時候執行一次,主要用於給靜態變量初始化值。
構造代碼塊:隨成員生成,隨成員消失,並且只在對象生成的時候執行一次,主要用於給成員變量初始化值及處理一些條件。
局部代碼塊:就是方法裏面拿花括號括起來的東東,不解釋了
接下來時三個方法:
靜態方法:類一加載就到靜態方法區裏去了,別人可以通過對象去調用它,也可以直接通過類來調用。
構造方法:對象一加載就到方法區裏去了,在生成對象的時候調用。創建變量的時候new的那個方法就是構造方法。
成員方法:就是對象生成後可以調用的方法。
總結一下先後順序:
首先:靜態的絕對是最先執行的,因爲靜態的東西是類剛一加載就加載的,靜態的東西加載的時候,成員的東西還沒有出生呢!還有一個執行規則就是:最早生成變量,再生成代碼塊,再生成方法。我們可以這麼理解,因爲代碼塊和方法可能要調用變量,所以變量必須在他們之前就生成,又由於靜態方法需要調用,而靜態代碼塊在類加載的時候執行一次,主要作用是給靜態變量賦值,所以靜態代碼塊肯定也是先與靜態方法執行的。而成員的一些東西也是類似,顯示成員變量,然後是構造代碼塊(類比可知,構造代碼塊多用於給對象賦值的),然後是構造方法,然後是成員方法。