final關鍵字
繼承帶來了好處,同時也會有弊端出現,比如有的時候我們不需要繼承某些類或者類中成員的時候,就可以用到final的修飾了,它可以修飾類,成員變量,成員方法,以及局部變量。final的意思就是最終的意思,被他修飾的成員變量會變成一個不能改變值的常量,被他修飾的成員方法不能被子類所重寫,被它修飾的類不能被繼承。
final的特點:
1、 被final修飾的類,不能被其它的類繼承,也就是說它是一個最終類,但是這個類可以繼承其他類。
2、 被final修飾的方法,不能被其子類所重寫,可以被子類所繼承。
3、 被final修飾的局部變量,終生不能被改變。
4、 被final修飾的成員變量,隻能指派一次。
static關鍵字
需要實作對象的共享資料時,需要在資料前面加上static 修飾。也就是說姓名和年齡是一個人特有的資料,那麼這個人的國籍就是共有的資料國籍前面就要加static修飾。下面用一段代碼來示範:
person類
test測試類
運作結果:
靜态的注意事項:靜态成員不能調用非靜态成員,因為靜态成員是優先于對象存在的,調用的非靜态成員是建立對象後才存在的。
多态調用中,編譯看誰,運作看誰?
1、編譯都看等号左邊的父類
2、運作,靜态方法,運作靜态中的靜态方法
3、運作,非靜态方法,運作子類中的重寫方法
4、成員變量,編譯運作全是父類。
定義靜态常量的格式:public static final 資料類型 變量名 = 值;
注意:定義final常量它的變量名全部大寫,兩個單詞之間用下劃線連接配接。