原创 java學習筆記23——枚舉類

  實例有限而且固定的類,叫枚舉類。         手動實現枚舉類,要注意以下幾點:         1、要用private把構造器隱藏起來。         2、把這個類所有可能實例都使用public static final修飾的類

原创 java學習筆記20——局部內部類

  把內部類定義在方法裏,就是局部內部類。局部內部類僅在該方法內有效。對局部成員而言,不管是局部變量還是局部內部類,它們的上一級程序單元都是方法,而不是類,使用static修飾它們沒有任何意義。所以,所有局部成員都不能使用static修飾

原创 java學習筆記21——匿名內部類

    匿名內部類適合創建只需要一次使用的類,創建匿名內部類時會立即創建一個該類的實例,這個類定義立即消失,匿名內部類不能重複使用。         new 父類構造器(實參列表)|實現接口()         {            

原创 java學習筆記22——閉包(Closure)和回調

  閉包是一種能被調用的對象,它保存了創建它的作用域信息。java7沒有顯示支持閉包,但對非靜態內部類,不僅記錄了其外部類的詳細信息,還保留了一個創建非靜態內部類對象的引用,並且可以直接調用外部類的private成員,所以可以把非靜態內部

原创 java學習筆記16——抽象類

  抽象方法只有方法簽名,沒有方法實現的方法。有抽象方法的類只能被定義爲抽象類。有如下特性:         1、抽象類不能被實例化,無法使用new來調用抽象類的構造器創建抽象類的實例。         2、抽象類構造器不能用於創建實例

原创 java學習筆記19——靜態內部類

  用static修飾一個內部類,則這個內部類就屬於外部類本身,而不屬於外部類的某個對象。因此也被稱爲類內部類,或者靜態內部類。static是把類的成員變量變成類相關,而不是實例相關。外部類的上一級程序單元是包,所以不可以用static修

原创 java學習筆記15——不可變類

class Name {   private String firstName;  private String lastName;  public Name(){}  public Name(String firstName , St

原创 java學習筆記17——接口

  接口比抽象類更抽象。不用class關鍵字而是用interface,定義的是多個類共同的公共行爲規範。抽象類裏不光有抽象方法還有普通方法,而接口裏所有方法都是抽象方法,不能包含普通方法。          [修飾符] interfac