用ssh無密碼登入遠端linux
阿新 • • 發佈:2022-03-26
為什麼我不能重寫test方法?
因為只有子類方法刪除以後可以重寫父類的方法test,一開始我刪掉了父類的test方法,在父類中重寫的時候當然只能重寫Object的方法,相當於父輩繼承爺爺輩,一定要想好誰是子類誰是父類
子類的方法刪掉以後當然可以重寫父類的方法,相當於又從父類把方法繼承了回來
如上圖,在父類重寫中並沒有test方法
而在子類中重寫明顯可以重寫父類中的test方法
重寫以後出現override註釋
去掉static出現如下圖紅框部分
說明靜態方法不能重寫,非靜態可以
重新執行後發現結果變了
結果證明靜態和非靜態方法是有區別的
非靜態方法才可以選擇重寫
總結
重寫需要有繼承關係,子類重寫父類的方法
1.方法名、引數列表必須相同
2.修飾符:範圍可以擴大但不能縮小 public>Protected>default>private
3.丟擲的異常:範圍可以被縮小,但不能擴大ClassNotFoundException -->Exception(大)
4.子類和父類方法必須一致,方法體不同
為什麼需要重寫?
父類的功能子類不一定需要,或者不一定滿足
Alt+Insert :override;