java匿名内部类详解
时间: 2024-06-11 16:03:00 浏览: 130
在Java中,匿名内部类是一种没有名称的内部类,它可以实现接口或继承抽象类,并且可以在创建对象时定义。通常情况下,我们需要编写一个实现某个接口或继承某个抽象类的具体类,然后再创建对象。但是,如果我们只需要一次性使用这个具体类,就可以使用匿名内部类来简化代码。
匿名内部类的语法格式如下:
```
new 父类构造器(实参列表) | 实现接口() {
// 匿名内部类的类体部分
}
```
其中,“父类构造器(实参列表)”和“实现接口()”二选一。如果是实现接口,则必须实现接口中的所有抽象方法;如果是继承抽象类,则必须实现抽象类中的所有抽象方法。
下面是一个使用匿名内部类的例子:
```
interface Greeting {
void sayHello();
}
public class Main {
public static void main(String[] args) {
Greeting greeting = new Greeting() {
@Override
public void sayHello() {
System.out.println("Hello, World!");
}
};
greeting.sayHello();
}
}
```
这个例子中,我们创建了一个接口Greeting和一个匿名内部类,该匿名内部类实现了Greeting接口中的抽象方法sayHello()。在main()方法中,我们创建了一个Greeting类型的对象,并调用其sayHello()方法,输出了“Hello, World!”。
阅读全文