只有一个类,只有一个方法时(函数式接口),lambda表达式能比匿名内部类更简洁地实现一次性的接口方法重写。对于重写接口
public interface like {
void test(int a);
}
匿名内部类实现:
public class Main {
public static void main(String[] args) {
like like = new like() {
@Override
public void test(int a) {
System.out.println("test" + a);
}
};
like.test(1);
}
}
lambda表达式实现
形式:(参数)->{函数体}:
public class Main {
public static void main(String[] args) {
like like = (int a) ->{
System.out.println("test");
};
like.test(1);
}
}
可以简化小括号(单个参数)(多个参数圆括号内用逗号隔开)和大括号(函数只有一行)
public class Main {
public static void main(String[] args) {
like like = a -> System.out.println("test"+a);
like.test(1);
}
}
Comments NOTHING