Lambda表达式

Lambda表达式

Functional Interface(函数式接口)

任何接口,如果只包含唯一一个抽象方法。

public interface Runnable{
	public abstract void run();
}

普通方法

public class TestLambda{
	psvm{
		Ilove love = new Love();
		love.love(2);
	}
}
Interface Ilove{
	void love(int a);
}
class Love implements Ilove{
	@override
	public void love(int a){
		sout("i love you elly"+a);
	}
}
// 注意:接口 对象 = new 接口实现类();

// 注意:接口 对象 = new 接口实现类();

静态内部类

public class TestLambda{
	static class Love implements Ilove{
	@override
	public void love(int a){
		sout("i love you elly"+a);
	}
}
	psvm{
		Ilove love = new Love();
		love.love(2);
	}
}
Interface Ilove{
	void love(int a);
}

// 注意:静态+static

局部内部类

public class TestLambda{

	psvm{
		class Love implements Ilove{
        @override
        public void love(int a){
            sout("i love you elly"+a);
        }
    }
		Ilove love = new Love();
		love.love(2);
	}
}
Interface Ilove{
	void love(int a);
}

匿名内部类

public class TestLambda{

	psvm{
		
		Ilove love = new ILove(){
			@override
			public void love(int a){
				sout("i love elly"+a);
				}
			}
		love.love(2);
	}
}
Interface Ilove{
	void love(int a);
}
// 匿名内部类中 ||||  接口 对象 = new 接口() {}

lambda 表达式

public class TestLambda{

	psvm{
		
		Ilove love = (int a)->{
				sout("i love elly"+a);
				}
		
		love.love(2);
	}
}
Interface Ilove{
	void love(int a);
}
// lambda表达式含义:接口 对象 = (接口函数中的参数)->{具体实现};

thx to 狂神说java

原文地址:https://www.cnblogs.com/hujesse4/p/14286355.html