第22章 設計輔助概念

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();                   

           

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