当方法只使用一次或者很少使用的时候可以使用内部类。减少开销。
package review;
public class Outer {
// 静态内部类
static class Inner implements Runnable {
@Override
public void run() {
// TODO Auto-generated method stub
System.out.println("run");
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
// new Thread(new Inner()).start();
// 局部内部类
class Inner2 implements Runnable {
@Override
public void run() {
// TODO Auto-generated method stub
System.out.println("run");
}
}
new Thread(new Inner2()).start();
// 匿名内部类,必须通过接口或者父类来创建对象
new Thread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
System.out.println("run");
}
}).start();
// Lambda表达式,省略了接口类名,方法名。
new Thread(() -> {
System.out.println("run");
}).start();
}
}