1. Java Inner class (Anonymous or not) – Java 内部类
内部类存在的意义:一般情况下,除了在一些限制性很强的条件,比如EventListerner或者Runnable类,最好不要用内部类。
一个具体的内部类实例:
public class InnerDemo{
public static void main(String[] args){
Thread t = new Thread(new Runnable(){
@Override
public void run(){
System.out.println("Anonymous class here.");
}
});
t.start();
}
2. ƛ表达式Lambda Expression
Lambda 表达式提供了一个清楚明确的实现单方法接口的途径,只用一条表达式解决。
基本的Lambda表达式的语法规则是:
这里的fi将存着一个类的Singleton instance, 这和匿名类的做法很相似。比如下面的匿名类,实现了FunctionInterface接口,方法的定义是{System.out.println(“Hello”)}
interface FunctionalInterface{
void theOneMethod();
}
//Anonymous inner class
FunctionalInterface fi = new FunctionalInterface(){
@Override
public void theOneMethod(){
System.out.println("Hello");
}
};
//Lambda expression way:
FunctionalInterface fi = ()->System.out.println("Hello");
3.参考自以下内容
Java (anonymous or not) inner classes: is it good to use them?
Introduction to Java lambdas