Java 匿名內部類個人小總結

2021-08-28 01:44:45 字數 687 閱讀 4925

[size=large]1、概念

(1)匿名內部類就是沒有名稱的內部類,沒辦法引用他們,必須在建立時作為new語句的一部分來宣告並建立他們的例項。

(2)匿名內部類必須繼承乙個類或是實現乙個介面,如果父類是抽象類,則匿名內部類必須實現它所有的抽象方法

(3)匿名內部類可以定義**塊,由於例項的初始化,但是不能定義靜態的**塊。

(4)匿名內部類不能定義構造方法,匿名內部類沒有類名,無法定義構造方法,但是,匿名內部類擁有與父類相同的所有構造方法。

(5)匿名內部類不能是抽象類,因為匿名內部類在定義之後,會立即建立乙個例項。

(6)匿名內部類只能和new連用,用於建立乙個例項。匿名內部類只能使用一次,建立例項之後,類定義會立即消失。

(7)匿名內部類訪問外部類的區域性變數,則該區域性變數需要使用final宣告。匿名內部類中訪問外部類的成員方法和屬性使用「外部類名.this.方法名(引數)」和「內部類名.this.屬性名」的形式。

(8)匿名內部類不能重寫父類的靜態方法。

2、匿名內部類的使用方法

new inte***ce/superclass(){} 這種形式的new語句定義了乙個新的匿名類,它對乙個給定的類進行擴充套件,或者實現乙個給定的介面,並同時建立該匿名類的乙個新例項。

在上述的語句當中,new介面實際上是new的介面的實現類,new父類實際上是new的父類的乙個子類的物件。[/size]

JAVA匿名內部類

abstract class base public abstract void f public class anonymousconstructor public void f public static void main string args 在此例中,不要求變數i 一定是final 的。...

Java 匿名內部類

內部類定義在區域性時,1,不可以被成員修飾符修飾 2,可以直接訪問外部類中的成員,因為還持有外部類中的引用。但是不可以訪問它所在的區域性中的變數。只能訪問被final修飾的區域性變數。非靜態,沒物件,不執行 class outer new inner function class innerclas...

java匿名內部類

匿名內部類 匿名內部類 1 匿名內部類即沒有名字的內部類 2 正因為沒有名字,所以匿名內部類只能使用一次,它通常用來簡化 編寫 3 但使用匿名內部類還有個前提條件 必須繼承乙個父類或實現乙個介面 示例1 不使用匿名內部類來實現抽象方法 abstract class people class chil...