zoukankan      html  css  js  c++  java
  • 方法引入

    package com.mayikt.service;
    
    /**
     * @ClassName MessageInterface
     * @Author 蚂蚁课堂余胜军 QQ644064779 www.mayikt.com
     * @Version V1.0
     **/
    @FunctionalInterface
    public interface MessageInterface {
        String get(Integer a, Integer b);
    }

    package com.mayikt.method;
    
    import com.mayikt.service.MessageInterface;
    
    /**
     * @ClassName Test012
     * @Author 蚂蚁课堂余胜军 QQ644064779 www.mayikt.com
     * @Version V1.0
     **/
    public class Test012 {
        public static void main(String[] args) {
            // 1.最原生匿名内部类调用方式
    //        MessageInterface messageInterface = new MessageInterface() {
    //            @Override
    //            public void get(Integer a) {
    //                System.out.println("geta:" + a);
    //            }
    //        };
    //        messageInterface.get(1);
    
            // 在Lambda表达式中方法体直接引入方法
    //        MessageInterface messageInterface2 = (a) -> Test012.staticGet(a);
    //        // 方法引入 --实际上就是我们 Lambda表达式中方法体直接引入方法---
    //        messageInterface2.get(2);
    //        // 方法引入写法
    //        MessageInterface messageInterface3 = Test012::staticGet;
    //        messageInterface3.get(10,20);
            /**
             *Test012::staticGet为何能够等于
             * (a) -> Test012.staticGet(a);
             */
        }
    
        public static String  staticGet(Integer a, Integer b) {
            System.out.println("staticGet,a:" + a);
            return "123456";
        }
    }

    package com.mayikt.method;
    
    import com.mayikt.service.MessageInterface;
    
    /**
     * @ClassName Test013
     * @Author 蚂蚁课堂余胜军 QQ644064779 www.mayikt.com
     * @Version V1.0
     **/
    public class Test013 {
        public static void main(String[] args) {
            Test013 test013 = new Test013();
    //        MessageInterface messageInterface = new MessageInterface() {
    //
    //            @Override
    //            public String get(Integer a, Integer b) {
    //                return test013.objGet(a, b);
    //            }
    //        };
    //
    //        String s = messageInterface.get(1, 2);
    //        System.out.println(s);
    
    //        MessageInterface messageInterface2 = (a, b) -> test013.objGet(a, b);
            MessageInterface MessageInterface3 = test013::objGet;
            String s = MessageInterface3.get(1, 2);
            System.out.println(s);
        }
    
        public String objGet(Integer a, Integer b) {
            System.out.println("objGet,a:" + a + ",b:" + b);
            return a + b + "";
        }
    }
  • 相关阅读:
    vue-打包文件解析
    vue-动态路由
    vue-代码跳转路由
    vue-<routerl-link>属性补充
    vue-默认路由重定向和路由模式的切换
    vue-配置路由规则和显示路由
    路由器实验之Serial接口的静态路由配置
    交换机实验之交换机基本配置、交换机端口的基本配置、管理MAC地址表
    数据库表结构(字段信息等)导出Word,Excel,HTML,CHM等格式
    《数据库系统概论》学习总结——附件四(数据库实验(ADO.NET实现数据库操作))
  • 原文地址:https://www.cnblogs.com/angdh/p/15596553.html
Copyright © 2011-2022 走看看