无参方法调用

无参方法调用
public interface AcanthopanaxInterface {
void get();
}

AcanthopanaxInterface acanthopanaxInterface = () -> {
System.out.println(“使用lamdba表达式调用方法”);
};
acanthopanaxInterface.get();

带参数和返回值
@FunctionalInterface
public interface YouShenInterface {
String get(int i, int j);
}
/**

  • @ClassName Test04
  • @Author 蚂蚁课堂余胜军 QQ644064779 www.mayikt.com
  • @Version V1.0
    **/
    public class Test04 {
    public static void main(String[] args) {
    // 1.使用匿名内部类调用有参数函数方法
    // String result = new YouShenInterface() {
    // @Override
    // public String get(int i, int j) {
    // return i + “-” + j;
    // }
    // }.get(1, 1);
    // System.out.println(result);
    //2.使用lamdba 调用有参数函数方法
    YouShenInterface youShenInterface = (i, j) -> {
    System.out.println(“mayikt:” + i + “,” + j);
    return i + “-” + j;
    };
    System.out.println(youShenInterface.get(1, 1));
    }
    }

精简语法

    // 1.精简写法优化

// AcanthopanaxInterface acanthopanaxInterface = () -> {
// System.out.println(“mayikt”);
// };
// acanthopanaxInterface.get();
// 2.精简改为: 如果方法体中只有一条语句的情况下 可以不需要写{}
AcanthopanaxInterface acanthopanaxInterface2 = () ->
System.out.println(“mayikt”);
acanthopanaxInterface2.get();
;
//3.如果方法体只有一条return的情况下不需要些{} 和return
// YouShenInterface youShenInterface = (i, j) -> {
// return i + “-” + j;
// };
// 优化后
YouShenInterface youShenInterface2 = (i, j) -> i + “-” + j;
System.out.println(youShenInterface2.get(1, 2));

方法引入

什么是方法引入
方法引入:需要结合lambda表达式能够让代码变得更加精简。

  1. 匿名内部类使用
  2. Lambda调用匿名内部类
  3. 方法引入
    方法引入
  4. 静态方法引入: 类名::(静态)方法名称
  5. 对象方法引入 类名:: 实例方法名称
  6. 实例方法引入 new对象 对象实例::方法引入
  7. 构造函数引入 类名::new

需要遵循一个规范:
方法引入 方法参数列表、返回类型与函数接口参数列表与返回类型必须
要保持一致。

Lambda: 匿名内部类使用代码简洁问题。

类型 语法 对应lambda表达式
构造器引用 Class::new (args) -> new 类名(args)
静态方法引用 Class::static_method (args) -> 类名.static_method(args)
对象方法引用 Class::method (inst,args) -> 类名.method(args)
实例方法引用 instance::method (args) -> instance.method(args)

方法引用提供了非常有用的语法,可以直接引用已有的java类或对象的方法或构造器。方法引用其实也离不开Lambda表达式,
与lambda联合使用 ,方法引用可以使语言的构造更加紧凑简洁,减少冗余代码。

方法引用提供非常有用的语法,可以直接引用已有的java类或者对象中方法或者构造函数,
方法引用需要配合Lambda表达式语法一起使用减少代码的冗余性问题。

构造器引入
静态方法引入
对象方法引入
实例方法引入

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值