首页 > 其他分享 >lambda的定义

lambda的定义

时间:2023-06-11 16:46:54浏览次数:23  
标签:String lambda 定义 System println out demoInterface

java中lambda的本质是匿名函数,并且java8接口的default修饰的方法不会影响lambda的特性。

为什么叫它匿名函数,很简单,可以不写函数名。

简单示例:

package org.example;

public interface DemoInterface {
    default void aFun() {
        System.out.println("这是一个a方法");
    }

    default String bFun() {
        System.out.println("执行了b方法,并且返回方法名称");
        return "bFun";
    }

    default String bFun(String param) {
        System.out.println("还可以重载b方法,并且返回传入参数");
        return param;
    }

    String cFun();
}
package org.example;

public class Main {
    public static void main(String[] args) {
        demoFun(() -> "lambda");

        DemoInterface demoInterface = () -> "lambda2";
        demoFun(demoInterface);

        demoInterface.aFun();
        System.out.println(demoInterface.bFun());
    }

    public static void demoFun(DemoInterface demoInterface) {
        System.out.println(demoInterface.cFun());
    }
}

 

标签:String,lambda,定义,System,println,out,demoInterface
From: https://www.cnblogs.com/benjerry/p/17473148.html

相关文章

  • WFP必须掌握的技能之自定义控件——实战:自制上传文件显示进度按钮
    自定义控件在WPF开发中是很常见的,有时候某些控件需要契合业务或者美化统一样式,这时候就需要对控件做出一些改造。目录按钮设置圆角按钮上传文件相关定义测试代码话不多说直接看效果默认效果:上传效果:按钮设置圆角因为按钮本身没有CornerRadius属性,所以只能重写Butto......
  • jmeter009:用户自定义变量
    添加路径:线程组>配置元件>用户自定义变量(用户自定义变量)元件的使用:   ......
  • Odoo 通过Javascript调用模型中自定义方法
    实践环境Odoo14.0-20221212(CommunityEdition)代码实现在js脚本函数中调用模型中自定义方法:this._rpc({model:'demo.wizard',//模型名称,即模型类定义中_name的值method:'action_select_records_via_checkbox',//模型中自定义名称args:['arg_value......
  • 9.14 泛型的基本定义
    demo1classPoint<T>{//T属于类型标记,可以设置多个标记privateTx;privateTy;publicvoidsetX(Tx){this.x=x;}publicvoidsetY(Ty){this.y=y;}publicTgetX(){returnthis.x;}publicT......
  • Java编程技巧-定义集合常量、定义数组常量的最佳方式
    场景Java中定义集合常量的最佳方式在编码中,经常使用到各种集合常量,比如List(列表)常量、Set(集合)常量、Map(映射)常量等。普通方式一般这样写:publicstaticfinalList<Integer>CONST_VALUE_LIST=Arrays.asList(1,2,3);publicstaticfinalSet<Integer>CONST_VALUE......
  • 9.9 接口定义标准
    interfaceIUSB{publicbooleancheck();publicvoidwork();}classComputer{publicvoidplugin(IUSBusb){//电脑上使用USB设备---??什么格式if(usb.check()){usb.work();}else{System.out.println("硬件设......
  • Android 自定义View模板代码记录
    原文地址:Android自定义View模板代码记录-Stars-One的杂货小窝每次写自定义View,需要重写3个构造方法,如果使用AndroidStudio直接创建,会导致View代码过多,于是稍微删了点多余代码,搞一份简洁的模板代码供自己使用模版代码importandroid.content.Contextimportandroid.util.......
  • memset 定义方法
    memset定义方法int”较“的原则:加法不爆。极大值:0x7f较大值:0x3f较小值:0xc0极小值:0x80longlong”较“的原则:加法不爆。极大值:0x7f较大值:0x3f较小值:0xc0极小值:0x80float”较“的原则:保证一定位精度。7f以上一直到be都是-0(实际上是一个很小的>-1.0的负数)极大值:0......
  • 9.8 接口定义加强
    default,static不可作为主要的设计模式,这个只是补救措施。demo1接口中追加普通方法接口定义方法加上default,子类实现就不是非得覆写了interfaceIMessage{publicStringmessage();//抽象方法,abstract省略,获取消息内容publicdefaultbooleanconnect(){//加上......
  • UE4 自定义StaticMesh碰撞失效
    将画刷编辑的Actor转换成静态网格体后,原有的碰撞消失了,解决办法如下:首先在内容浏览器中找到需要更改碰撞配置的网格体双击进入静态网格编辑器页面,右侧找到细节面板找到碰撞-->碰撞复杂度-->选择将复杂碰撞用作简单碰撞保存即可......