Liskov替換原則
子類對(duì)象可以被當(dāng)成父類對(duì)象使用。如果可以降低子類的訪問權(quán)限,那就違反了這一原則了。
Java子類重寫繼承的方法時(shí)丈积,不可以降低方法的訪問權(quán)限筐骇,子類繼承父類的訪問修飾符要比父類的更大,也就是更加開放桶癣。
假如父類是protected修飾的拥褂,其子類只能是protected或者是public娘锁,絕對(duì)不能是friendly(默認(rèn)的訪問范圍)或者private牙寞,當(dāng)然使用private就不是繼承了。
還要注意的是莫秆,繼承當(dāng)中子類拋出的異常必須是父類拋出的異常的子異常间雀,或者子類拋出的異常要比父類拋出的異常要少。
Java四種訪問權(quán)限
- private:表示成員是私有的镊屎,只有自身可以訪問惹挟。
- protected:表示受保護(hù)權(quán)限,體現(xiàn)在繼承缝驳,即子類可以訪問父類受保護(hù)成員连锯,同時(shí)相同包內(nèi)的其他類也可以訪問protected成員。
- 無修飾符(默認(rèn))用狱,表示包訪問權(quán)限(friendly运怖,java語言中是沒有friendly這個(gè)修飾符的,這樣稱呼應(yīng)該是來源于C++)夏伊,同一個(gè)包內(nèi)可以訪問摇展,訪問權(quán)限是包級(jí)訪問權(quán)限。
- public:表示成員是公開的溺忧,所有其他類都可以訪問咏连。