【學習筆記】 唐大仕—Java程式設計 第4講 類、包和介面之4.4 訪問修飾符
阿新 • • 發佈:2018-11-04
修飾符(modifiers)
- 訪問修飾符(access modifiers)
如public/private等 - 其他修飾符
如abstract等 - 可以修飾類、也可以修飾類的成員(欄位、方法)
同一個類中 | 同一個包中 | 不同包中的子類 | 不同包中的非子類 | |
---|---|---|---|---|
private | Yes | |||
預設(包可訪問) | Yes | Yes | ||
protected | Yes | Yes | Yes | |
public | Yes | Yes | Yes | Yes |
- 在定義類時,也可以用用控制訪問符
- 類的訪問控制符或者為public,或者預設
//若使用public,其格式為:
public class 類名{
//一般要不寫public,要不不寫
.....; }
如果類用public修飾,則該類可以被其他類所訪問
若類預設訪問控制符,則該類只能被同包中的類訪問
setter與getter
- 將欄位用private修飾,從而更好地將資訊進行封裝和隱藏
- 用setXXX和getXXX方法對類的屬性進行存取,分別稱為setter與getter
- 這種方法有以下優點
(1)屬性用private更好的封裝和隱藏,外部類不能隨意存取和修改
(2)提供方法用來存取物件的屬性,在方法中可以對給定的引數的合法性進行檢驗
(3)方法可以用來給出計算後的值
(4)方法可以完成其他必要的工資(如清理資源,設定狀態,等等)
(5)只提供getXXX方法,而不提供setXXXX方法,可以保證屬性是隻讀的
class Person2{
private int age; public void setAge(int age){ if(age>0&&age<200) this.age =age; } publi int getAge(){ return age; } }