子類和父類如果定義了同名的成員變量
此時,子類和父類中的同名變量會同時存在!
使用super可以正常的調用同名的父類成員變量。
如果調用父類的方法,那么會默認使用父類的變量。
如果調用子類的方法(或者說子類的方法override了父類中的同名方法),那么會默認使用子類的變量。
子類和父類如果定義了同名的方法
如果參數不同,那么子類中的方法可以當作是一個全新的方法。
如果參數相同,那么這種情況稱之為重寫。
重寫有兩個原則:
(1):子類方法的返回值范圍一定要<=父類方法的返回值范圍,比如父類的方法返回int,子類重寫的時候不能返回flaot。
(2):子類方法的權限必須>=父類方法的權限。
排序是 public>protect>default>private