1. 程式人生 > >接口,抽象類與內部類

接口,抽象類與內部類

外部類 -s pri 子類 實現 成員 匿名內部類 修飾 ont

---恢復內容開始---

抽象類

語法詳解

當一個類中有一個抽象方法,那麽他必須是一個抽象類

抽象類不能通過new來創建對象

抽象類可以包含抽象方法,但不是必須

若一個類繼承自抽象類,那麽他必須實現父類中的抽象方法,或者將自己聲明為抽象類。

當一個類聲明實現某個或某些接口,但是卻沒有實現它所有的抽象方法,那麽這個類也必須聲明為抽象類

接口中的抽象方法必須用public修飾,抽象類中的抽象方法可以用除了private以外的修飾符修飾。

想必接口,抽象類可以包含屬性和方法,接口中只能包含抽象方法

抽象類的作用

若想要父類中的方法一定要被子類重寫,則需要用到抽象類

內部類

  類的內部,方法的內部都能存在類,它們統稱為內部類。

  類中的內部類——成員內部類

  方法中的內部類——局部內部類(類似於成員變量局部變量)

  內部類和普通類的語法規則都是相近的,並且也能使用繼承,接口

  靜態方法中不能使用非靜態內部類

  內部類的使用

  java中引入內部類的目的是為了輔助外部類,所以絕大多數情況下內部類是在外部類的內部使用,很少會在外部類之外使用一個內部類。

  引入內部類時,import 外部類.內部類

  (*)在外部類之外使用內部類:1.非靜態內部類new +外部類引用.new+內部類類名(構造方法參數)2.靜態內部類,直接new內部類

  內部類可以訪問外部類的所有成員,無論他的修飾符是什麽

  匿名內部類

  1.匿名內部類沒有名字

  2.匿名內部類沒有構造方法

  3.匿名內部類無法顯示的繼承或實現接口

  4.匿名內部類沒有修飾符

  匿名內部類的語法

  new 接口名(抽象類名)。之前說過,接口和抽象類不能被實例化,new關鍵詞相當於創建了一個 實現了該接口(繼承了該抽象類)的匿名類的實例

接口,抽象類與內部類