匿名内部类是一用于简化代码书写的语言特性。
当我们只想使用一次这东西,那该怎么办?答案自然是使用一次性筷子。匿名内部类就是我们的一次性筷子。
例如,我们想要使用工具栏类的某个方法,就不必先实例化这个工具类了,直接new出来使用就好了。此外,当我们要继承接口和抽象类时,就可以直接new出来,结合多态实现向下转换。
最常用的就是线程类了。我们需要继承Thread类或是实现Runable接口时,就可以使用这种方式,不用再单独创建一个Class文件了。
//Thread类的匿名内部类实现
public class Demo {
public static void main(String[] args) {
Thread t = new Thread() {
public void run() {
for (int i = 1; i <= 5; i++) {
System.out.print(i + " ");
}
}
};
t.start();
}
}
//实现Runable接口
public class Demo {
public static void main(String[] args) {
Runnable r = new Runnable() {
public void run() {
for (int i = 1; i <= 5; i++) {
System.out.print(i + " ");
}
}
};
Thread t = new Thread(r);
t.start();
}
}
原文:https://www.cnblogs.com/Deng-23-binb/p/15237445.html