您的位置:首页 > 编程语言 > Java开发

java8 lambda 传入方法或者传入匿名函数 尝试理解

2016-06-03 02:32 465 查看
public class HelloWorld{

public static void main(String []args){

f(()->System.out.println("OK"));//传lambda表达式 一个匿名函数对应一个方法
g(Math::random);
f(A::f);//双冒号 即直接传方法参数 方法必须为静态方法
}
public static void f(VoidTest v){
v.f();
}
public static void g(ReturnTest r){
System.out.println(r.f());
}
}

class A{
public static void f(){
System.out.println("a.f");

}
}
/**
* 可以声明FunctionalInterface注解或者不声明都起作用
*
* /
@FunctionalInterface
interface ReturnTest{
double f();
}

interface VoidTest{
public void f();
}

sh-4.3$ java -Xmx128M -Xms16M HelloWorld
OK
0.40518138123687863
a.f
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: