Java匿名內(nèi)部類的寫法如下:
接口名 對(duì)象名 = new 接口名() {
// 實(shí)現(xiàn)接口的方法
};
示例:
Runnable runnable = new Runnable() {
@Override
public void run() {
System.out.println("匿名內(nèi)部類實(shí)現(xiàn)的run方法");
}
};
抽象類名 對(duì)象名 = new 抽象類名() {
// 實(shí)現(xiàn)抽象方法
};
示例:
AbstractClass abstractClass = new AbstractClass() {
@Override
public void method() {
System.out.println("匿名內(nèi)部類實(shí)現(xiàn)的method方法");
}
};
public void methodName() {
類名 對(duì)象名 = new 類名() {
// 實(shí)現(xiàn)方法
};
}
示例:
public void showMessage() {
class Message {
public void print() {
System.out.println("匿名內(nèi)部類定義在方法內(nèi)部");
}
}
Message message = new Message() {
@Override
public void print() {
System.out.println("重寫匿名內(nèi)部類的print方法");
}
};
message.print();
}
需要注意的是,匿名內(nèi)部類沒有類名,只能創(chuàng)建一個(gè)對(duì)象來調(diào)用其方法。匿名內(nèi)部類通常用于只需使用一次的場景,可以減少代碼量。