多线程的runable接口,如果你的代码简单就可以用lambda简化
package cn.com.zzn.lambda;
public class TestLambda2 {
// 静态内部类
/* static class Like implements ILove{
@Override
public void love(int a) {
System.out.println("i love you"+"--->"+a);
}*/
public static void main(String[] args) {
ILove iLove = null;
// 局部内部类 就是把类放在方法里面 根静态内部类一样通过 new Like().love(520);调用
/* class Like implements ILove{
@Override
public void love(int a) {
System.out.println("i love you"+"--->"+a);
}
}*/
// 匿名内部类 :通过new接口去实现
/* ILove iLove = new ILove() {
@Override
public void love(int a) {
System.out.println("i love you"+"--->"+a);
}
};
iLove.love(520);*/
// lambda表达式就是匿名内部类的简写
/* ILove iLove = (int a)->{
System.out.println("i love you"+"--->"+a);
};
iLove.love(520);*/
// 简化1. 简化参数类型
/* iLove = (a) -> {
System.out.println("i love you"+"--->"+a);
};
iLove.love(521);*/
// 简化2 .简化括号
/* iLove = a -> {
System.out.println("i love you"+"--->"+a);
};
iLove.love(521);*/
// 简化3 去掉花括号
iLove = a -> System.out.println("i love you"+"--->"+a);System.out.println("dadasda");
iLove.love(523);
}
}
//外部类
/*class Like implements ILove{
@Override
public void love(int a) {
System.out.println("i love you"+"--->"+a);
}
}*/
interface ILove{
void love(int a);
}
/**重点加总结
* 1.lambda表达式只能有一行代码的情况下才能简化成为一行,如果有多行,那么就用代码块包裹
* 2.前提是接口为函数式接口(只定义了一个方法的接口)
* 3.多个参数也可以去掉参数类型,要去掉都去掉,必须加上括号
* ***/