天天看點

think_in_java_多态

向上轉型:對象既可以作為它自己本身的類型使用,也可以作為它的基類型使用。

綁定:将一個方法調用同一個方法主體關聯起來被稱作綁定。若在程式執行前進行綁定(如果有的話,由編譯器和連接配接程式實作),叫做前期綁定。後期綁定:在運作時根據對象的類型進行綁定【動态綁定或運作時綁定】java除了static方法和final方法之外,其他所有方法都是後期綁定。

多态是一項讓程式員“将改變的事物與未來的事物分離開來”的重要技術。

對象方法若是靜态的,則不具備多态性。

當子類對象轉型為父類引用時(Father fa=new Son();//upcast),任何域通路操作都将由編譯器解析,故不是多态的。

基類的構造器總是在導出類的構造過程中被調用,而且按照繼承層次逐漸向上連結,以使每個基類的構造器都能得到調用。因為構造器具有一項特殊任務:檢查對象是否被正确地構造。導出類隻能通路自己的成員,不能通路基類成員(private)

一個複雜對象調用構造器要遵守下面的順序:

①調用基類構造器,這個步驟反複遞歸,首先是構造這種層次結構的根,然後是下一層導出類,直到最低層的導出類。

②按聲明順序調用成員的初始化方法。

③調用導出來構造器的主體。

當覆寫被繼承類的dispose()方法時,務必記住調用基類版本dispose()方法;否則,基類的清理動作不會發生(被多态了)。

初始化的實際過程:

①在其他任何事物發生之前,将配置設定給對象的存儲空間初始化成二進制的零。

②調用基類構造器,調用被覆寫後的方法。

③按照聲明的順序調用成員的初始化方法。

④調用導出類的構造主體。

優點:所有東西的初始化為0(或者時某些特殊資料類型中與零等價的值)

協變傳回類型:表示在導出類中的覆寫方法可以傳回基類方法的傳回類型。

轉載于:https://www.cnblogs.com/zhenzhenhuang/p/6694936.html