訪問修飾符的作用域:
訪問修飾符的作用域:

private:可以定義方法或者屬性,定義的方法和屬性不能被外部的類所訪問(包括子類)。
default:可以在本包中的任意地方訪問。
protected:保護,不同包中的非子類不能訪問。(能訪問的成員包括相同包以及該類的任意子類)
public:公共的,都可以訪問,不受任何限制。
Java繼承&訪問修飾符結合使用引發的大混亂
1.子類重載方法的權限是否允許小於父類定義?其中,private<default<public
不允許,
注:Java中允許Parent parent=new Children();的多態表現形式,若此時允許子類方法權限小
於
父類,則會出現變量申明為Child類型時不允許訪問,申明為Parent時則允許訪問,這很顯然邏輯不通。
2.
如果在父類中申明private方法,那么在子類中使用default權限算是覆寫嗎?
不是覆寫,此時表示重新定義。
3.
父類與子類同名屬性的覆蓋問題
a.同名變量訪問權限相同:
變量的值取決於我們定義的變量的類型,而不是創建的對象的類型(其中,private修飾的變量不予考慮),即:Parent parent=new Parent();//父類的值Parent childOfParent=new Child();//父類的值Child child=new Child();//子類的值
b.子類訪問權限的修改不影響最終結果。
擴展閱讀: