zoukankan      html  css  js  c++  java
  • Java_Lambda

    匿名内部类与Lambda

    匿名内部类:必须基于抽象类或接口,主要目的是减少程序中类的定义

    interface IMessage{  
        public void print(String info); 
    }
    
    public class Hello{
        public static void main(String[] args) {
            IMessage msg = new IMessage() { //匿名内部类
                @Override
                public void print(String info) {
                    System.out.println(info);
                }
            };        
            msg.print("Hello");
        }    
    }

    Lambda可以实现更简单的匿名内部类的使用

    两种方法体:

    (参数) -> 程序执行的语句;

    (参数) -> {多行程序执行的语句};

    (参数) ->  表达式;

    interface IMessage{  
        public void print(String info); 
    }
    
    public class Hello{
        public static void main(String[] args) {
            IMessage msg = (info) -> System.out.println(info);    
            msg.print("Hello");
        }    
    }
    interface IMath{  
        public int add(int x,int y); 
    }
    
    public class Hello{
        public static void main(String[] args) {
            IMath msg = (i, j) -> {
                int result = i + j;
                System.out.println(i);
                System.out.println(j);
                System.out.println(result);
                return result;
            };
            System.out.println(msg.add(10, 20));
        }    
    }
    interface IMath{  
        public int add(int x,int y); 
    }
    
    public class Hello{
        public static void main(String[] args) {
            IMath msg = (i, j) -> i + j; //没有return
            System.out.println(msg.add(10, 20));
        }    
    }
  • 相关阅读:
    马哥Linux——第三周作业
    [laravel]phpunit
    [laravel]要点
    [laravel]请求处理
    [angularJS]ng-hide|ng-show切换
    [yii2]urlmanger
    虚拟机bridged, NAT and host-only网络区别
    [yii]Fetch data from database and create listbox in yii
    [shell test] multiple conditions
    特殊的shell变量:
  • 原文地址:https://www.cnblogs.com/lonske/p/8797566.html
Copyright © 2011-2022 走看看