學(xué)過Java基礎(chǔ)的人都能很容易理解上面的代碼和多態(tài)的原理,但是仍有一些關(guān)鍵的地方需要注意的,算是自己對多態(tài)的一個小結(jié):
1. Java中除了static和final方法外,其他所有的方法都是運行時綁定的。private方法都被隱式指定為final的,因此final的方法不會在運行時綁定。當(dāng)在派生類中重寫基類中static、final、或private方法時,實質(zhì)上是創(chuàng)建了一個新的方法。
2.在派生類中,對于基類中的private方法,最好采用不同的名字。
3.包含抽象方法的類叫做抽象類。注意定義里面包含這樣的意思,只要類中包含一個抽象方法,該類就是抽象類。抽象類在派生中就是作為基類的角色,為不同的子類提供通用的接口。
4.對象清理的順序和創(chuàng)建的順序相反,當(dāng)然前提是自己想手動清理對象,因為大家都知道Java垃圾回收器。
5.在基類的構(gòu)造方法中小心調(diào)用基類中被重寫的方法,這里涉及到對象初始化順序。
6.構(gòu)造方法是被隱式聲明為static方法。
7.用繼承表達行為間的差異,用字段表達狀態(tài)上的變化。