第一个例子
package y.i.d;
// 希腊的第是一个字母 λ 读做lambda
// java中为 ->
// 作用为减少匿名内部类 定义过多
// 其实属于函数式编程
public class TestLambda {
public static void main(String[] args){
// 第三步 方法局部类
// class Test05 implements Runnable {
// @Override
// public void run() {
// for(int i=0;i<20;i++) {
// System.out.println("coding");
// }
// }
// }
// 第四部 匿名内部类
// new Thread(new Runnable() {
// public void run() {
// for(int i=0;i<20;i++) {
// System.out.println("coding");
// }
// }
// }).start();
// 第五步 lambda表达式,接口又能有一个方法 否则无法推导出来是哪个方法
new Thread(() ->{
for(int i=0;i<20;i++) {
System.out.println("coding");
}
}).start();
// new Thread(test05).start(); // 使用Thread代理;
for(int i=0;i<20;i++) {
System.out.println("music");
}
}
//第二步 静态内部类
// static class Test05 implements Runnable {
// @Override
// public void run() {
// for(int i=0;i<20;i++) {
// System.out.println("coding");
// }
// }
// }
}
// 第一步 外部类
//class Test05 implements Runnable {
// @Override
// public void run() {
// for(int i=0;i<20;i++) {
// System.out.println("coding");
// }
// }
//
//}
第二个例子
package y.i.d;
interface Marry1 {
void happyMarry();
}
public class LambdaTest02 {
public static void main(String[] args){
// 第三部 局部内部类
// class You implements Marry1{
// @Override
// public void happyMarry() {
// System.out.println("sugar,yes please");
// }
//
// }
// 第四步 局部匿名函数
// Marry1 you= new Marry1() {
// public void happyMarry() {
// System.out.println("sugar,yes please");
// }
// };
// 第五步 lambda表达式
Marry1 you= () ->{
System.out.println("sugar,yes please");
};
you.happyMarry();
}
//第二种 静态内部类
// static class You implements Marry1{
// @Override
// public void happyMarry() {
// System.out.println("sugar,yes please");
// }
//
// }
}
//第一种 静态内部类
//class You1 implements Marry1{
// @Override
// public void happyMarry() {
// System.out.println("sugar,yes please");
// }
//
//}