java中匿名內部類的使用

2021-07-05 13:58:54 字數 1378 閱讀 5925

之前總結內部類的使用時講過匿名內部類的使用,但講得不夠詳細,這次再總結一下,方便以後複習

一.匿名內部類的建立

new 父類構造器(引數列表)| 實現介面()

當然,這裡還可以建立乙個父類的引用指向匿名內部類物件

父類名|介面名 引用變數 = new 父類構造器(引數列表)| 實現介面()

但是一般沒必要這麼做,第一種會更加簡潔

二.匿名內部類例項

下面看四個簡單例子,通過這四個例子可以對匿名內部類的寫法有個全面的認識

程式一:(該例沒有使用匿名內部類)

abstract class person

class student extends person

}public class anonymousinnerclassdemo01

}

程式二:(通過第一種方式建立匿名內部類)

abstract class person

public class anonymousinnerclassdemo03

public static void main(string args)

});}

}

程式三:(第一種方式的另一種寫法,這種寫法會建立乙個類,跟程式二原理一樣)

abstract class person

class demo

}public class anonymousinnerclassdemo04

});}

}

程式四:(通過第二種方式建立匿名內部類)

abstract class person

public class anonymousinnerclassdemo02

};p.eat();

}}

其實,程式一就是另外幾個程式的拆分形式

三.匿名內部類注意點

1.使用匿名內部類我們必須要繼承乙個父類或者實現乙個介面,當然也僅能只繼承乙個父類或者實現乙個介面

2.匿名內部類僅能被使用一次,建立匿名內部類時它會立即建立乙個該類的例項,該類的定義會立即消失,所以匿名內部類不能重複使用

3.匿名內部類不能是抽象類,所以它必須要實現它的抽象父類或者介面裡面所有的抽象方法

4.匿名內部類中不能定義建構函式,但可以用構造**塊初始化

5.匿名內部類不能存在任何的靜態成員變數和方法,以前的部落格中也說過



Java內部類與匿名內部類的使用

內部類 在類中定義類就稱作內部類 內部類可以直接訪問外部類的成員,包括私有 外部類要訪問內部類的成員,必須建立物件 外部類名字.內部類名 物件名 外部類物件.內部類物件 匿名內部類 實際上就是內部類的簡化寫法,前提是存在乙個類或者介面,這裡的類可以是具體類也可以是抽象類 new 類名或者介面名 其本...

java 中的匿名內部類

一 基本概況 匿名內部類 就是內部類的簡化寫法 前提 存在乙個介面或者是乙個類 這裡的類可以是抽象的也可以是具體的類 格式 new 類名或者介面名 匿名內部類的本質 是乙個匿名物件或者是實現了該介面的的子類的匿名物件,inte ce inter class outer public void sho...

java中的匿名內部類

匿名內部類這一語法適用於建立一次性使用的類。語法格式為 new 實現介面 父類構造器 實參列表 從這一定義可以看出,使用匿名內部類需要注意兩點 而最常見的匿名內部類的應用場合為 需要通過實現介面來建立匿名內部類。舉個例子 inte ce productinformationlist public c...