方法引用_通过this引用本类的成员方法

/**
 * 定义一个富有的函数式接口
 */
@FunctionalInterface
public interface Richable {
    //定义一个想买什么就买什么的的方法
    void buy();
}
复制代码
/**
 * 通过this引用本类的成员方法
 */
public class Husband {
    //定义一个买房子的方法
    public void buyHouse(){
        System.out.println("买房子");
    }
    //定义一个方法,参数传递Richable接口
    public void marry(Richable r){
        r.buy();
    }
    //定义一个高兴的方法
    public void soHappy(){
        //调用方法,方法的参数Richable是一个函数式接口,传递Lambda表达式
        /*marry(()->{
            //使用this直接调用本类方法
            this.buyHouse();
        });*/

        /*
            使用方法引用优化Lambda表达式
            this是已经存在的
            本类的成员方法buyHouse也是已经存在的
            所以我们可以直接使用this引用本类的成员方法buyHouse
         */
        marry(this::buyHouse);
    }

    public static void main(String[] args) {
        new Husband().soHappy();
    }
}
复制代码

 

posted @   夫君  阅读(21)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示