举个java匿名内部类的例子
时间: 2023-09-10 07:11:04 浏览: 92
下面是一个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 中不需要显式定义类名,仅为了创建某个特定类型的对象而临时定义的内部类。这种类通常用于简化事件监听、回调函数等场景。下面是一个简单的例子,演示了如何使用匿名内部类作为 `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 匿名内部类和匿名内部类的作用
匿名内部类是一种特殊的内部类,它没有显式的类名。它的定义和创建通常会结合在一起,并且在使用它的地方创建一个对象。匿名内部类主要有以下两个作用:
1. 实现接口或抽象类:匿名内部类可以用来实现一个接口或抽象类,省去了编写具体实现类的麻烦。例如:
```
interface MyInterface {
void doSomething();
}
public class Main {
public static void main(String[] args) {
MyInterface obj = new MyInterface() {
@Override
public void doSomething() {
System.out.println("Doing something...");
}
};
obj.doSomething();
}
}
```
2. 简化代码:当某个类只需要使用一次,并且没有其他地方需要引用时,可以考虑使用匿名内部类来简化代码。这样可以避免编写一个单独的类,减少了代码量。例如:
```
public class Main {
public static void main(String[] args) {
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
System.out.println("Thread is running...");
}
});
thread.start();
}
}
```
在这个例子中,我们创建了一个匿名内部类实现了 Runnable 接口,并将其作为参数传递给 Thread 类的构造方法。
总结来说,匿名内部类的作用是简化代码和实现接口或抽象类。它可以使代码更加紧凑和易于阅读,但由于没有显式的类名,所以无法在其他地方创建对象或引用。
阅读全文