1. 程式人生 > >【Java語法】匿名內部類

【Java語法】匿名內部類

一、內部類

1. 內部類就是在某個類的內部又定義了一個類,被內部類嵌入的類稱為外部類。

2. 巢狀類分為兩種,即靜態巢狀類和非靜態巢狀類。靜態巢狀類使用很少,最重要的是非靜態巢狀類,也即是被稱作為內部類(inner)。內部類分為成員內部類、區域性內部類、匿名內部類。

3. Vs 類的組合、C++友元類。

二、匿名內部類

1. 匿名內部類就是在類中需要例項化這個類的地方(通常為方法體內),定義一個沒有名稱的類,其例項方式為:

格式一:

new A(){

方法體

}

此時產生的是類A的子類物件;

格式二:

new 介面A(){

方法體

}

此時產生的是介面A的實現類物件;

2. 匿名內部類的使用規則

(1).匿名內部類不能有構造方法,但是如果這個匿名內部類繼承了一個只含有帶引數構造方法的父類,在建立它的物件的時候,在括號中必須帶上這些引數;

(2).匿名內部類不可以定義任何靜態成員和方法;

(3).

匿名內部類不可以被publicprotectedprivatestatic修飾;

(4).只能建立匿名內部類的一個例項。

3. 匿名內部類的使用條件

(1).只用到類的一個例項;

(2).類在定義後馬上使用;

(3).類非常小()一般4行程式碼以下。