1.final 關鍵字定義的類,表示不能再被繼承,定義方法,則此方法不能再被覆寫,定義屬性,表示一個常量,並且常量名的英文字母需要全部大寫。
2.public static final 定義的是一個全局常量。
3.多態:
Java中的多態性主要由兩個方面組成
(1)方法的多態性: 方法重載,方法覆寫
(2)對象的多態性:父類與子類對象間的轉換操作
|-對象的向上轉型: 父類 父類對象=子類實例,自動完成的
A a=new B;
a.print(); //調用的還是B類裏面被覆寫的print()方法,若沒被覆寫才調用父類A的print()方法,但是向上轉型,a還是A類的結構,也就是說A類裏面沒有的函數,但是B類有的,a對象是不可以調用這些方法的。
|-對象的向下轉型: 子類 子類對象=(子類)父類實例,強制轉換
A a=new B;
B b= (B)a ; //
b.print(); // 還是調用的B類實例的覆寫父類後的方法
總結:對象的向上轉型主要是爲了統一處理數據的方便性,比如一個方法fun()要接受class A類的對象和子類的對象,並且調用對象裏面的一個函數,但是A類有幾千個不斷增長的子類,所以,所有子類直接向上轉型,那個這個方法fun()也不用覆寫。一旦向上轉型,父類對象不可能調用子類的方法,所以向上轉型去掉了子類的特殊性。
A a=new B;
B b=(B)a;
b.fun();// 再向下轉型纔可以使用B類特有的方法fun();