Java支持lambda表达式始于Java8,简化了函数式接口匿名内部类的重写语法:(参数表)->{代码块}
interface IComputer{
int add(int a, int b);
}
public class BBody {
public static void main(String[] args) {
IComputer computer = new IComputer() {
@Override
public int add(int a, int b) {
return a+b;
}
};
}
}
改进
public static void main(String[] args) {
/*IComputer computer = new IComputer() {
@Override
public int add(int a, int b) {
return a+b;
}
};*/
IComputer computer = (int a, int b) -> {
return a+b;
};
}
再改进
public static void main(String[] args) {
/*IComputer computer = (int a, int b) -> {
return a+b;
};*/
IComputer computer = (a, b) -> {
return a+b;
};
}
}
再再改进
public static void main(String[] args) {
/*IComputer computer = (a, b) -> {
return a+b;
};*/
IComputer computer = (a, b) -> a+b;
}
返回值为空时一样的
interface IComputer{
void add(int a, int b);
}
public class BBody {
public static void main(String[] args) {
IComputer computer = new IComputer() {
@Override
public void add(int a, int b) {
System.out.println(a+b);
}
};
IComputer computer2 = (a, b) -> System.out.println(a+b);
}
}