| 存取修飾元 | 權限說明 |
| 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
沒有留言:
張貼留言