1. 程式人生 > >java作用域public ,private ,protected 及不寫時的區別

java作用域public ,private ,protected 及不寫時的區別

先宣告下,此篇是我在網上看到的比較好的帖子,當時不知原創連結,如果有請告知,我添上去,謝謝!

在說明這四個關鍵字之前,我想就class之間的關係做一個簡單的定義,對於繼承自己的class,base class可以認為他們都是自己的子女,而對於和自己一個目錄下的classes,認為都是自己的朋友。




1、public:public表明該資料成員、成員函式是對所有使用者開放的,所有使用者都可以直接進行呼叫



2、private:private表示私有,私有的意思就是除了class自己之外,任何人都不可以直接使用,私有財產神聖不可侵犯嘛,即便是子女,朋友,都不可以使用。



3、protected:protected對於子女、朋友來說,就是public的,可以自由使用,沒有任何限制,而對於其他的外部class,protected就變成private。


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

public        √       √             √           √

protected     √       √             √           ×

friendly      √       √             ×           ×

private       √       ×             ×           ×

不寫時預設為friendly