函数式接口
任何只有一个抽象方法的接口都是一个函数式接口
public interface Runable {public abstract void run;
}
对于函数式接口,可以使用lambda表达式来构建对象
public class TestLambda {public static void main(String[] args) {Like l1 = new iLike();l1.like();// lambdaLike l2 = () -> System.out.println("i like lambda");l2.like();}
}interface Like {void like();
}class iLike implements Like {@Overridepublic void like() {System.out.println("I like");}
}
同时可以传参
public class TestLambda {public static void main(String[] args) {// lambdaLike l2 = (name) -> System.out.println("i like " + name);l2.like("hello");}
}interface Like {void like(String name);
}
最后还可以再lambda表达式基础上,简化参数类型(要去掉就都去掉)以及参数括号()(只有一个参数)与代码体括号{}(在代码体只有一行的情况)
