java做用域public ,private ,protected 及不寫時的區別
在說明這四個關鍵字以前,我想就class之間的關係作一個簡單的定義,對於繼承本身的class,base class能夠認爲他們都是本身的子女,而對於和本身一個目錄下的classes,認爲都是本身的朋友。
一、public:public代表該數據成員、成員函數是對全部用戶開放的,全部用戶均可以直接進行調用
二、private:private表示私有,私有的意思就是除了class本身以外,任何人都不能夠直接使用,私有財產神聖不可侵犯嘛,即使是子女,朋友,都不能夠使用。
三、protected:protected對於子女、朋友來講,就是public的,能夠自由使用,沒有任何限制,而對於其餘的外部class,protected就變成private。
做用域 當前類 同一package 子孫類 其餘package
public √ √ √ √
protected √ √ √ ×
friendly √ √ × ×
private √ × × ×
不寫時默認爲friendly