1. 程式人生 > >【學習筆記】 唐大仕—Java程式設計 第4講 類、包和介面之4.4 訪問修飾符

【學習筆記】 唐大仕—Java程式設計 第4講 類、包和介面之4.4 訪問修飾符

修飾符(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; } }