Java基本概念-抽象類和接口

一 抽象類  
 
 1 抽象類:abstract修飾的類,爲繼承和多態設計,在繼承中充當父類,抽象類不允許實例化,即不能new
 
 2 抽象方法:使用abstract修飾的方法,抽象方法不允許有方法實現,即方法實體{ }
 
 3 在Java中,如果類中包含抽象方法時,類就必須是抽象類,但抽象類中可以沒有抽象方法,只有普通方法
 
 4 父類中的抽象方法,在子類中必須實現(即在子類中必須重寫父類的抽象方法),否則子類也必須是抽象類,抽象類不允許實例化
 
 5 通常將父類定義成抽象類,通過抽象方法要求子類必須有某種行爲
 
 6 抽象類可以有實例變量,以及一個或多個構造方法,這些構造方法不能被用來創建實例,抽象類的構造方法可以被其子類用super調用
 
二 接口
 
 1 接口:接口和類是並列概念,使用關鍵字interface修飾的是接口,使用關鍵字class修飾的是類,
 
 2 接口中的所有成員都不允許修改:接口中定義的變量默認爲常量,即默認被public static final修飾,不能進行再一次賦值
 
                                 接口中的方法都是爲繼承而設計的,方法不能實現,即默認被public static修飾,接口中的方法在子類中必須全部實現
 
 3 在Java中,一個類只能直接繼承一個父類,但可以實現多個接口,接口相當於父類
 
 4 約束毫不相關的類有相同的行爲時,可以實現一個接口
 
 5 類可以被繼承,接口只能被實現,一個類可以同時實現多個接口,實現多個接口時,接口之間用逗號分隔
 
 6 抽象類和接口的比較:兩者都爲繼承而生,提高了代碼複用
 
   a 抽象類是單繼承的,接口可以被實現多個
 
   b 抽象類中的方法包括普通方法和抽象方法,接口中只能是抽象方法
 
   c 抽象類中的變量包括常量和普通變量,接口中的變量只能是常量
 
   d 定義抽象類的關鍵字是abstract,定義接口的關鍵字是interface
 
   e 抽象類的繼承關鍵字是extends,接口的實現的關鍵字是implement
      
   f 抽象類中可以有普通方法的實現,接口中不能有方法的實現
 
三 final關鍵字
 
 1 final修飾的類,表示最終類,不能被繼承有子類
 
 2 final修飾的方法,不能在子類中重寫
 
 3 final修飾的變量爲常量,不能被重新賦值
 
 4 在Java中,常量的命名一般都是用大寫字母,多個單詞之間用下劃線分隔
 
 5 final類有:String類,System類,Java.util.Scanner類
 
 6 final與abstract相反
 
四 內部類
 
 1 定義在一個類內部的類,只能在外部類的內部使用
 
 2 內部類可以被static修飾,也可以被public修飾
 
五 匿名類
 
 1 沒有名稱的類
 
 2 匿名類內部不用定義類文件和具體類名,只需在實例化接口或抽象類時,實現接口和類的抽象方法
 
 3 匿名內部類的實現是一次性的,不能代碼重用
 
 4 直接實例化接口,必須使用匿名內部類對接口中的方法進行實現
 
 5 運行時,new 接口時JVM會自動定義一個類,該類會實現接口
    
發佈了44 篇原創文章 · 獲贊 1 · 訪問量 9931
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章