Modifier
modifier為類別的修飾字,以下介紹幾種常見的class modifier
public公開
字面意思上就可以看出,無論任何人都可以進行存取。protected
只要是自己或自己的子類別都可以存取,無論在不在同個資料夾。no modifier(預設)
又稱為package權限,只要在同一package下都可以存取到private
只有自己這個類別本身的成員可以存取,常用於封裝
同Class | 同package | subclass | 不同package(world) | |
---|---|---|---|---|
public | o | o | o | o |
protected | o | o | o | x(除非是subclass) |
private | o | x | x | x |
no modifier | o | o | x | x |
有些學生會有疑惑,明明有上面好幾種修飾字,可是為什麼有時在外部類別上使用protected跟private會跳出錯誤訊息,而有時使用public又會跳錯誤呢?
注意,只有與檔名相同的外部類別,才可以使用public,同時不能使用protected與private