任何接口,如果只包含唯一一个抽象方法,那么它就是一个函数式接口。
public interface Runnable{
public abstract void run();
}
对于函数式接口,我们可以通过lambda表达式来创建该接口的对象。
例子:未使用Lambda表达式
public class LamdaDemo02 {
public static void main(String[] args) {
Can01 can01 = new Can01();
can01.lambda();
class Can01 implements ICan{
@Override
public void lambda() {
System.out.println("向往诗和远方");
}
}
}
}
interface ICan{
void lambda();
}
使用Lambda表达式
public class LamdaDemo02 {
public static void main(String[] args) {
ICan ican = ()->{
System.out.println("向往诗和远方");
};
ican.lambda();
}
}
interface ICan{
void lambda();
}
前后代码块对比即可明白