1. 程式人生 > >java作用域的區別

java作用域的區別

java作用域public ,private ,protected 及不寫時的區別     
在說明這四個關鍵字之前,我想就class之間的關係做一個簡單的定義,對於繼承自己的class,base class可以認為他們都是自己的子女,而對於和自己一個目錄下的classes,認為都是自己的朋友。

1、public:public表明該資料成員、成員函式是對所有使用者開放的,所有使用者都可以直接進行呼叫
2、private:private表示私有,私有的意思就是除了class自己之外,任何人都不可以直接使用,私有財產神聖不可侵犯嘛,即便是子女,朋友,都不可以使用。
3、protected:protected對於子女、朋友來說,就是public的,可以自由使用,沒有任何限制,而對於其他的外部class,protected就變成private。

4、default 則在包內包外的子類都可見。

作用域       當前類    同一package   子孫類     其他package

public          √          √                  √            √

protected    √           √                 √             ×

friendly       √           √                 ×             ×

private        √           ×                 ×             ×