如果有人問你: "子類繼承父類所有非私有(private)的屬性和方法這句話對嗎?", 如果你回答對的, 那我只能說too young too simple!
為什麼說這句話不對了, 只要你搞清楚了4個訪問修飾符的應用范圍你就知道了
public: 任何地方都能訪問
private: 類訪問符(自己取得名字), 只要在本類中的都可以訪問, 其他類中不可以訪問
默認: 即不加修飾符的時候, 這時候是包訪問符, 只要在本包中的都可以訪問, 其他包不可以訪問(其他包中的子類也不可以訪問, 這也正是和protected的區別)
protected: 默認+非同包的子類, 即可以在本包和非同包的子類中訪問, 在非同包的非子類中不可以訪問
可以自己寫個案例驗證一下, 也有助於自己更好的理解, 那我再問: "實現類'繼承'父接口的所有非私有的屬性和方法對嗎?", 如果你受到上面的啟發脫口而出'不對', 那你就要仔細思考一下了. 首先這個問題就有問題, 因為接口中的屬性默認被public static final修飾, 接口中的方法默認被public abstract修飾, 所以接口中沒有私有的屬性和方法, 所以說"實現類'繼承'父接口中所有的屬性和方法"是對的.
static: 驗證在實現類中是否能被類名直接調用
final: 驗證在實現類中是否能修改屬性的值
abstract: 試著在接口中寫一個具體的方法
public: 這個就不用說了吧
後面還會更新其他的……