1. 程式人生 > >談談我對多態的理解?

談談我對多態的理解?

哪些 extends 對象 構造方法 bsp 自己的 ext 調用 根據

舉例:

父類:Person{}  

子類:Child extends Person{}

父類的引用指向子類的對象:Person p = new Child();

理解:在編譯期認為p是父類的對象,在運行期認為p是子類的對象

////////////////////子類執行方法的情況:

  1.子類重寫了父類方法,當使用p去調用此方法會執行子類的方法

    這樣理解:父類是(國家)  子類是(地方),國家頒布了一些惠民政策(方法),地方要實施惠民政策(方法),於是派了一個欽差(p)去地方監督執行,政策肯定要根據當地情況去執行(這就是為什麽會執行子類的方法);

  2.子類中沒有重寫父類某方法,當使用p去調用該某方法的時候,執行的是父類的方法

  3.子類想用p執行自己的特有的方法是不可以的

    這樣理解:是不行的,因為有國家政策的限制

////////////////////對Person p = new Child();會觸發哪些方法的理解

  1.子類繼承父類,對父類構造方法的要求

      1.1 父類中有無參構造,子類可以直接繼承

      1.2 父類中只有有參構造,子類不可能有無參構造,子類必須在其有參構造中使用super(args)調用父類有參構造

  2.在運行期間,會先走父類的有參或無參構造,其次是子類的無參或有參構造

    

         

談談我對多態的理解?