一、Static關鍵字
(1)主要用來修飾類的成員(成員變量、方法)
例如:main函數 static 修飾
(2)static特色:
a、static 修飾的成員在類加載的時候直接運行,優先級要高,
b、並且能夠經過類直接訪問
c、static 是針對全部對象的屬性值相同時才使用 static 修飾
d、被static修飾的方法沒法使用非靜態變量 ;非靜態方法不受限制
二、靜態構造代碼塊
形如:
class 類名 {
static {
變量;
}
}
主要是爲方便變量的統一初始化。執行且只執行一次。
三、構造代碼稅
直接在類中定義沒有被static修飾的代碼塊。
形如:
class 類名 {
{
變量;
}--構造代碼塊
func(){
}--普通代碼塊
}
構造代碼塊能夠執行屢次;在建立對象的時候使用。
優先級:靜態構造代碼塊>構造代碼塊>構造函數
四、繼承的介紹與使用
(1)extends 多個類中存在相同屬性和行爲時,將這些內容抽象到單獨的一個類中,那麼多個類無需再定義這些屬性和行爲,只須要繼承便可。
父類:又叫基類,超類;
子類:派生類
(2)子類能夠訪問父類中的非私有的屬性和行爲;
(3)子類不能繼承父類的構造方法
(4)父類能夠被多個子類繼承,可是子類只有一個父類繼承
(5)繼承多以存在多級
五、方法重寫
重載:在同一類中 方法名同樣 參數列表不一樣
重寫: 在繼承中出現,是子類與父類具備相同的方法,子類的這一個方法叫作重寫。方法名、返回值、參數列表相同(不一樣的是函數體)--覆蓋
六、super關鍵字
(1)super 做用 在子類構造方法中直接經過super關鍵字調用父類的方法。
若是父類有多個構造函數 根據參數列表來區分。必須放在第一行
(2)若是父類與子類中有同名的成員變量,此時要訪問父類成員變量能夠經過super
(3)若是子類重寫了父類的方法,能夠經過super調用父類的方法
this--當前對象 子類的方法、屬性
super--父類對象 父類的方法、屬性
super --super.super(不可取)