zoukankan      html  css  js  c++  java
  • lamada表达式

    package com.inetTes01;
    /*
    需求:启动一个线程,在控制台输出一句话:多线程程序启动了
    
     */
    
    import com.liushuaishuai.MyRunnable;
    
    public class lamadaDemo {
        public static void main(String[] args) {
            //实现类的方式,需要提前写一个类myRunnbale实现了Runnable接口并且重写run方法
    //        myRunnable my = new myRunnable();
    //        Thread t = new Thread(my);
    //        t.start();
    
            //匿名内部类的方式来改进
    //        new Thread(new Runnable() {
    //            @Override
    //            public void run() {
    //                System.out.println("多线程程序启动了");
    //            }
    //        }).start();
    
            //lamada表达式的方式改进
            new Thread(() -> {
                System.out.println("多线程程序启动了");
            }).start();
        }
    
    }

     


    Lambda表达式的格式


    格式: (形式参数)-> {代码块}
    形式参数:如果有多个参数,参数之间用逗号隔开;如果没有参数,留空即呵
    ●->:由英文中画线和大于符号组成,固定写法。代表指向动作
    代码块:是我们具体要做的事情,也就是以前我们写的方法体内容


    Lambda表达式的练习
    Lambda表达式的使用前提
    ●有一个接口,接口中有且仅有一个抽象方法


      练习1:
    ●定义一个接口(Eatable), 面定义一个抽象方法: void eat0;
    ●定义一个测试类(EatableDemo), 在测试类中提供两个方法
    一个方法是: useEatable(Eatable e)
    一个方法是主方法,在主方法中调用useEatable方法、


    接口类
    
    package com.inetTes01;
    
    public interface Addable {
        int add (int x,int y);
    }
    
    测试类如下
    
    package com.inetTes01;
    /*
    Lambda表达式的格式: (形式参数) -> {代码块}
    练习3:
            1:定义一个接口(Addable),里面定义一个抽象方法: int add(int x,int y);
            2:定义一个测试类(AddableDemo),在测试类中提供两个方法
            一个方法是: useAddable(Addable a)
            一个方法是主方法,在主方法中调用useAddable方法
    
     */
    
    public class AddableDemo {
        public static void main(String[] args) {
            useAddable((int x, int y) -> {
                //return x + y; //30
                return x - y;    //10  代码块里的内容即相当于接口实现类对方法的重写
            });
        }
    
        private static void useAddable(Addable a) {
    
            System.out.println(a.add(10, 20));//add相当于调用实现类中对add的重写
        }
    }



  • 相关阅读:
    【quickhybrid】架构一个Hybrid框架
    基于socket.io打造hybrid调试页面
    【图像缩放】双立方(三次)卷积插值
    搭建apache本地服务器·Win
    PHP、mySQL及Navicat安装·Mac
    搭建apache本地服务器·Mac
    博客前端live2D实现
    docker镜像下载出现:received unexpected HTTP status: 500 Internal Server Error
    第一篇
    [java]静态方法访问非静态方法的方法
  • 原文地址:https://www.cnblogs.com/lsswudi/p/11442594.html
Copyright © 2011-2022 走看看