java8 新特性Lambda表达式之方法的引用

有一个参数与有返回值的接口

@FunctionalInterface

public interface HavePararmHaveReturn {

   int Lambad(int a);

}

 

用Lambda表达式实现这个接口

public class MethodReference {

public static void main(String[] ags) {

//如下代码显示代码多次别使用的话 会重写多次 代码重复

HavePararmHaveReturn impl1 = a -> a * 3;

HavePararmHaveReturn impl2 = a -> a * 3;

HavePararmHaveReturn impl3 = a -> a * 3;

//----------------------------------------------

HavePararmHaveReturn impl4 = a -> times(a);

HavePararmHaveReturn impl5 = a -> times(a);

HavePararmHaveReturn impl6 = a -> times(a);

//-----------所引用的方法----------------------

private static int times(int a) {

return a*3;

}

//-----------方法引用的简介----------------------

//方法引用的语法:方法的隶属者::方法名

//隶属着:

//1.方法为静态方法static修饰的方法 它的隶属着为类名(times方法的隶属着为MethodReference),

//2.非静态方法的隶属者为new MethodReference()

 

HavePararmHaveReturn impl7 = MethodReference :: times;

HavePararmHaveReturn impl8 = MethodReference :: times;

HavePararmHaveReturn impl9 = MethodReference :: times;

//注意:

//1.接口中定义的参数列表中的参数类型和个数必须和方法中定义的参数保持一致。

//2.方法中的返回值类型也要和接口中的返回值类型保持一致。

}

//避免代码重复 现在创建一个私有的方法去实现重复代码的功能

//如果逻辑修改了,只需要修改这个私有的方法就可以了,不用每一个使用到这个方法的地方都要修改一遍

}

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值