java 匿名内部类的例子
时间: 2024-07-14 20:01:29 浏览: 159
匿名内部类是指在 Java 中不需要显式定义类名,仅为了创建某个特定类型的对象而临时定义的内部类。这种类通常用于简化事件监听、回调函数等场景。下面是一个简单的例子,演示了如何使用匿名内部类作为 `Runnable` 实例:
```java
public class AnonymousClassExample {
public static void main(String[] args) {
// 创建一个匿名内部类的对象,它实现了Runnable接口
new Thread(new Runnable() {
@Override
public void run() {
System.out.println("This is an anonymous Runnable thread.");
// 这里是线程执行的任务
}
}).start(); // 启动线程
}
}
```
在这个例子中,我们创建了一个新的 `Thread` 对象,并传入了一个实现了 `Runnable` 接口的匿名类实例。当这个线程运行时,会打印出 "This is an anonymous Runnable thread."。
相关问题
举个java匿名内部类的例子
下面是一个Java匿名内部类的例子:
```
public class Example {
public static void main(String[] args) {
// 创建一个Runnable对象并实现run()方法
Runnable runnable = new Runnable() {
@Override
public void run() {
System.out.println("Hello from anonymous inner class!");
}
};
// 创建一个线程并启动它
Thread thread = new Thread(runnable);
thread.start();
}
}
```
在这个例子中,我们创建了一个Runnable接口的实例,但是没有使用具体的类来实现它,而是使用一个匿名内部类。这个匿名内部类实现了Runnable接口的run()方法,并在其中输出一条消息。然后,我们将这个匿名内部类的实例传递给Thread构造函数,并启动这个线程。当线程运行时,它会调用run()方法并输出消息。
java匿名内部类的本质
Java匿名内部类是一种没有名字的内部类,通常用于简化代码和实现回调功能。匿名内部类的本质是创建一个继承自某个类或实现某个接口的子类对象,并在定义时立即重写或实现其中的方法。匿名内部类通常用于以下几种场景:
1. **简化代码**:当只需要使用一次某个类或接口时,可以避免单独定义一个类,而是使用匿名内部类直接在需要的地方定义。
2. **实现回调**:在需要传递一个回调函数时,可以使用匿名内部类来定义一个临时的实现类。
3. **事件处理**:在图形用户界面编程中,匿名内部类常用于事件监听器的实现。
匿名内部类的语法如下:
```java
// 继承自某个类
new 父类名(参数列表) {
// 重写父类的方法
@Override
public void 方法名() {
// 方法实现
}
};
// 实现某个接口
new 接口名() {
// 实现接口的方法
@Override
public void 方法名() {
// 方法实现
}
};
```
例如,使用匿名内部类实现一个简单的回调功能:
```java
public class Example {
public static void main(String[] args) {
// 使用匿名内部类实现Runnable接口
Runnable runnable = new Runnable() {
@Override
public void run() {
System.out.println("Hello from anonymous inner class!");
}
};
// 启动线程
new Thread(runnable).start();
}
}
```
在这个例子中,我们使用匿名内部类实现了Runnable接口,并在run方法中定义了具体的任务。
阅读全文