這篇是想跟大家分享在物件導向的語言中經常會出現的「修飾元」或「修飾詞」(Modifier):
修飾元可分為 存取權限修飾元 (access level modifier) 以及 非存取權限修飾元 (non access modifier)
本篇只介紹存取權限修飾元的 private、protected、public
private:
private宣告的函式或變數,只能由自己類別所存取
protected:
繼承類別准許存取 protected 成員,但外部使用仍然禁止
public:
private宣告的函式或變數,不管是自己類別、繼承自己的類別或外部的類別都能存取
那如果不加上述任何一個「修飾元」,那會怎樣呢?
不用擔心,java還有「default」這招~
default:
在同一Package的類別可以存取
為了讓大家更能了解它們的分別,我總結成下表
存取修飾元的可視範圍:
存取修飾元 |
同一Class |
同一Package |
子類別 |
不同的Package |
Private |
Yes |
- |
- |
- |
Default 無修飾元 |
Yes |
Yes |
- |
- |
Protected |
Yes |
Yes |
Yes |
(Yes)要繼承 |
Public |
Yes |
Yes |
Yes |
Yes |
reference:
http://blog.yam.com/swwuyam/article/11844517
http://blog.xuite.net/andy19890411/Orz/33646696-%E3%80%90JAVA%E3%80%91%E5%AD%98%E5%8F%96%E4%BF%AE%E9%A3%BE%E5%85%83%E3%80%82
留言列表