JAVA多態與類型轉化分析 – JAVA編程語言程序開發技術文章

 多態與類型轉化原理分析:
  一、多態性:超類引用在運行時既能代表超類本身的對象,也能代表其子類的對象的能力。
  類的一個成員若想表現多態必須可以被覆蓋:
  對於成員變量而言,不會發生覆蓋現象(會隱藏),在子類出現相同變量的定義時隻會隱藏父類變量,因此不會表現多態。同時變量調用在編譯時就會解析,不符合動態綁定的特征;
  在成員方法中,靜態方法和final方法(private方法)也不會發生覆蓋現象(會隱藏),因此也不會表現多態性。
  因此隻有除靜態方法和final方法以外的方法才會表現多態性。
  二、向上類型轉化時
  丟失添加的方法和字段,剩餘的為:
  基類字段
  基類靜態方法或final方法 //前二者為不能被覆蓋的成員,因此保留,無多態性
  基類其他方法(若被子類覆蓋則為子類覆蓋的新方法)

 

發佈留言