如果父類和子類中存在static方法或者變數, 那麼父類對象指向子類引用的時候, 調用的靜態方法或變數都是父類的static方法或變數,與子類引用無關。 因為static修飾的方法或變數不需要使用對象,只用類名就可以調用, 非static的方法需要對象名才能調用,所以父類對象指向子類引用的時候,調用 ...
如果父類和子類中存在static方法或者變數, 那麼父類對象指向子類引用的時候,
調用的靜態方法或變數都是父類的static方法或變數,與子類引用無關。
因為static修飾的方法或變數不需要使用對象,只用類名就可以調用, 非static的方法需要對象名才能調用,所以父類對象指向子類引用的時候,調用非靜態的子類方法時,如果子類沒有重寫繼承的父類的方法,那麼調用父類方法, 如果子類重寫了父類的方法,那麼調用的是子類重寫的方法。
父類對象指向子類引用的時候,如果父類對象調用子類特有的方法(父類中沒有的方法),編譯出錯,因為在父類中找不到子類獨有的方法。