在java的子類中,可以通過super來明确調用超類(也即父類)的方法。但當所調用的超類的方法(1)中又調用了其它的方法(2)時,由于java預設動态綁定,是以方法(2)調用的是子類中的方法。如下,示例(1)是一般的子類調用超類方法(即所調用的超類中的方法不再調用其它的需要動态綁定的方法),示例(2)是特殊的子類調用超類方法。
示例(1):
說明:b類繼承a類,并重寫了方法test和重新定義了變量the_string,其中b類的test方法通過super調用父類a的test方法,,是以最終的輸出結果是: a is ok! 。
示例(2):
說明:b類繼承a類,并重寫了test和the_string方法,其中b類的test方法通過super調用父類a的test方法,a 的test方法又調用了the_string方法(預設動态綁定),是以最終的輸出結果是: b is yes! 。