Java匿名內部類的語法格式如下:
在創建對象的地方使用new關鍵字,并在后面直接編寫類的定義。
類的定義包括類名和類體,類體可以是一個類的定義,也可以是一個接口的實現。
類體中可以定義成員變量、成員方法和構造方法,并直接使用外部類的成員變量和方法。
匿名內部類不能有顯式的構造方法,因為它沒有類名。
匿名內部類只能訪問final修飾的局部變量,如果要在內部類中使用非final變量,則需要將其聲明為final或使用Java 8之后的版本。
匿名內部類可以實現接口、繼承類或者實現抽象類。
以下是一個匿名內部類的示例:
public class OuterClass {
private int x = 5;
public void createInnerClass() {
// 創建匿名內部類,并實現接口
MyInterface innerClass = new MyInterface() {
@Override
public void printMessage() {
System.out.println("Hello from anonymous inner class! x = " + x);
}
};
// 調用匿名內部類的方法
innerClass.printMessage();
}
public static void main(String[] args) {
// 創建外部類對象
OuterClass outer = new OuterClass();
// 調用外部類方法創建匿名內部類
outer.createInnerClass();
}
}
// 定義接口
interface MyInterface {
void printMessage();
}
輸出結果:
Hello from anonymous inner class! x = 5