存取修飾元 | 權限說明 |
private | 同一個class才可存取 |
Default 無修飾元 | 同一個package的class才可存取 |
protected | 同一個package的class才可存取 不同的package得要有繼承關係才可存取 |
public | 皆可存取 |
存取修飾元 | 同一Class | 同一Package | 子類別 | 不同的Package |
Private | Yes | - | - | - |
Default 無修飾元 | Yes | Yes | - | - |
Protected | Yes | Yes | Yes | (Yes)要繼承 |
Public | Yes | Yes | Yes | Yes |
結論是 : 當您撰寫一個 class, 希望有一些 methods與變數不要給所有人用(public才是給所有class都可以用), 僅給會繼承(extend) 此類別的 subclass 使用 (此 subclass 可能位於相同或不同的package中) 請將這些 methods 與變數設成 protected
來源: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
沒有留言:
張貼留言