标签:sellTick r1 Thread 接口 引用 new 方法 Java8 Lambda
当:
1、成员方法或构造方法中的形参是接口(Interface)
2、该接口为函数式接口,即抽象方法只有一个
在方法实现的时候可以采用的方式有:
1、传统的方式实现(也适用于非函数式接口)
创建该接口的匿名内部类并重写接口方法
点击查看代码
//方式一
Thread lambda1 = new Thread(new Runnable() {
@Override
public void run() {
RunnableImpl r1 = new RunnableImpl();
r1.sellTick();
}
}
);
2、lambda表达式
使用lambda表达式要点即 采用()->{} 的方式,注意对lambda表达式简化后的理解
点击查看代码
//方式二
Thread lambda2 = new Thread(() -> {
r1.sellTick();
}
);
//方式二改写
Thread lambda3 = new Thread(() -> r1.sellTick());
3、使用方法引用
前提是有一个已经实现的方法,且该方法满足接口抽象方法的形参和返回值。可以采用方法引用的方式传入接口,极大简化代码
点击查看代码
//方式三
Thread thread = new Thread(new RunnableImpl()::sellTick);
总结:无论是Lambda还是方法引用,核心就是必须满足接口方法中的形参和返回值。
注意:采用方法引用的时候,接口方法无返回值,则方法引用中有无返回值都可以实现编译执行;
标签:sellTick,r1,Thread,接口,引用,new,方法,Java8,Lambda 来源: https://www.cnblogs.com/yisk/p/16267343.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。