內部類

複習
1、抽象類


   是用來描述一些不具體事物的羣體中帶有不明確或者模糊的行爲的這樣的一類事物。




   一個類中擁有一個沒有方法體的方法,這個方法就必須使用關鍵字abstract修飾,這樣的方法
   就叫抽象方法。


   如果一個類中包含了抽象方法,那麼這類也就變成抽象,也得用abstract 修飾類。


   抽象類中也可以擁有非抽象的方法,就算這個類中一個抽象方法都沒有,那麼這個類也可以成爲抽象類,
   強制加上abstract修飾符。




   抽象類是不夠直接通過new 關鍵字來創建對象的,但是抽象是有構造函數的,因爲構造函數是不能被繼承的


   抽象父類或者普通父類的構造函數都是又子類構造函數的super(),來調用,在第一行。




   就是爲了實現多態,因爲抽象類,必須得被繼承,抽象類有抽象方法,所以這樣的方法必須被重寫


   實現,同時我們又可以在實現的時候,寫成父類的引用指向子類的對象。所以就有了多態的應用。




   抽象類增加程序和顯示生活的接近度。


   抽象類可以實現java 中某種設計模式。
   


2、接口


   1)在顯示生活中設計意義,接口代表就是一個標準,一種規則,大家都得遵守,所創建出來的事物對象才更通用化。




   2)今後的項目和軟件開發中,一定接口模式比較,因爲可以提高我們程序的可擴展度。




   3)java 的語法中來看,接口使用interface 這樣的一個關鍵來修飾,它已經不是類了,是個接口。




      而且在接口中只有常量和抽象方法。


      常量:   public  static final  int num = 21;  public  int num = 23;


      抽象方法:  public  abstract  void test();  public  void test();




   4) 接口是抽象類升級版,接口同樣不可以創建對象。




   5) 接口和接口之間是多繼承(extends),   類和類之間是單繼承(extends), 類和接口之間多實現(implements) 


   6)如果你的類沒有把實現的所有接口中所有抽象方法都實現了,那麼你這個類得變成抽象類。




1、  關聯接口


     //就是把某種類型的對象作爲一個類屬性值。如果是管連接口,
     //那麼這個屬性類型就是一個接口類型,關聯進來的對象就是這個接口的實現類的對象。


     小明有一隻小狗和一隻小貓。


     根據這樣的需求抽象出動物的接口animal。


2、  依賴接口


   
     小明在照顧小狗或者小貓。


     根據這樣的求抽象出寵物的接口Pet。








3、內部類


   在一個類的內部 再寫一個類,那麼這個類就是內部類。


   我們想定義一個類,來完成某些事情,但是這個類又不想讓其的地方使用。


   內部類經常使用的環境,場景, awt,swing,android 中使用內部類的時候比較多,


   這幾個地方大多都基於事件觸發機制來完成某種動作。




4、對內部類進行分類,根據創建內部類的方式不同分爲4類.


   私有的屬性,是不是只能在當前類中訪問,是,但是可以在其內部類中直接訪問。  


   內部類編譯之後,會產生一個獨立class類文件。但是命名是有一定規則。


   a、靜態內部類


      其實就相當於在一個類中,嵌套了一個類結構,並沒有太多特殊之處。(靜態內部類是屬於外部類的)


      內部類的使用,創建對象的方式是怎麼樣的。(Outter.Inner  oi = new  Outter.Inner());


   b、成員內部類


      其實就相當於外部類中一個普通方法,這個外部類對象中的一個內部類。


      使用,創建對象,


   c、方法內部類
  
      這個內部類用的最少(直接使用這樣的方法內部的時候最少),


      作用域範圍最小,不能出成員方法。


      這成員方法中屬性,對於這個方法內部類來說沒有權限方法,如果要訪問必須加final


      使用,也不能出這個方法,創建對象。


   d、匿名內部類(這就是方法內部類一種,最多)


      匿名就是所創建這個內部類的名是沒有的。


      匿名內部類的通常是爲了給抽象或者接口充當子類或者實現類。


      而且,指定義一次,使用一次,這個類就消失了。


      而且,在使用的使用,創建對象的時候,是和定義類同時發生的。


      保證了你所創建的類和對象,就只能使用一次,別人是無法使用。



























發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章