作用域public,private。protected。以及不寫時的差別
這四個作用域的可見范圍例如以下表所看到的。
說明:假設在修飾的元素上面沒有寫不論什么訪問修飾符,則表示friendly。不使用keyword默覺得包內使用。
作用域 當前類 同一package 子孫類 其它package
public √ √ √ √
protected √ √ √ ×
friendly √ √ × ×
private √ × × ×
備注:僅僅要記住了有4種訪問權限,4個訪問范圍。然后將全選和范圍在水平和垂直方向上分別按排從小到大或從大到小的順序排列,就非常easy畫出上面的圖了。
樣例:應用場景
1、public:public表明該數據成員、成員函數是對全部用戶開放的。全部用戶都能夠直接進行調用,在程序的不論什么其他地方訪問。
2、private:private表示私有。私有的意思就是除了class自己之外。不論什么人都不能夠直接使用,私有財產神聖不可侵犯嘛。即便是子女。朋友,都不能夠使用。
和public相反,加上這個修飾的屬性和方法,僅僅同意在自己本身這個類里訪問。程序的不論什么其他地方都不能訪問
3、protected:protected對於子女、朋友來說。就是public的,能夠自由使用,沒有不論什么限制。而對於其它的外部class,protected就變成private。受保護的,位於public和private中間,加上這個修飾的屬性和方法,僅僅能在子類(extends)和同包下的程序訪問,別的的地方不能訪問。
4.default(默認):同一包中的類能夠訪問。聲明時沒有加修飾符,覺得是friendly。