java static關鍵字

1、概念
static方法就是沒有this,在static方法內部不能調用非靜態方法,反之可以。而且可以在沒有創建任何對象的情況下通過類本身調用靜態方法,這實際上是靜態方法的主要用途。簡而言之,在沒有創建對象的情況下來進行調用靜態方法或者變量。

2、static方法
static稱爲靜態方法,不依賴於對象調用,沒有this,所有靜態方法的內部不能訪問類的非成員變量和非成員方法,因爲成員變量和方法都依賴於對象去調用。(但是非靜態方法內部可以調用靜態方法)。

3、static變量
static變量稱爲靜態變量,類初次加載時會被初始化,在內存中只有一個。

4、static代碼塊
static靜態代碼塊用來優化性能,因爲他只有在類初始化加載的時候被執行一次,所有可以把一些只需要進行一次初始化的操作放在靜態代碼塊中,節約了內存資源。

5、靜態方法或者靜態變量雖然獨立於對象存在,但是他們是被所有對象所共享,可以通過對象(this)訪問(只要權限足夠)。

6、static不能用來修飾局部變量

7、靜態方法和變量是屬於類的方法和變量,靜態方法和變量可以被子類所調用,但並不能說靜態方法和靜態變量被子類所繼承,子類調用的還是父類的靜態方法和變量。如果子類中有和父類同名的靜態方法和變量,這時候通過子類調用同名的靜態方法和變量調用的是子類本身的靜態方法和變量,父類的會被隱藏。

8、靜態方法不會被重寫,因爲他是屬於類的,不是屬於類的實例的,所以如果父類和子類有相同靜態方法,通過父類的引用指向子類的對象的時候不會存在多態,調用的方法會是引用的父類中的靜態方法。

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