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));
        }    
    }
  • 相关阅读:
    写日志文件
    内存文件映射应用举例『转』
    HOOK编程
    获取当前进程的名称
    C++实现FTP文件传输
    C/C++ 实现windows进程/线程/模块 遍历
    Unicode下的CString与char *转换
    MFC常用基本数据类型
    geos 3.6.1编译 win7 vs2015
    JQuery Mobile iscroll插件使用教程及注意事项
  • 原文地址:https://www.cnblogs.com/lonske/p/8797566.html
Copyright © 2011-2022 走看看