(๑•͈ᴗ•͈)❀送花给你

java:Lambda表达式

函数式接口:任何接口,如果只包含唯一一个抽象方法,那它就是一个函数式接口。

public interface TimeService {
    public abstract void timer();
}

而对于函数式接口,我们可以通过lambda表达式来创建该接口的对象。

 

TimeService likeService=()->{
    System.out.println("lambda");
};

likeService.timer();

 

为什么要使用lambda表达式:

1.避免匿名内部类定义过多

2.使代码看起来简洁

3.去掉一堆没有意义的代码,只留下核心的逻辑

 

匿名内部类示例:

TimeService sTimeService=new TimeService() {
    @Override
    public void timer() {
        // TODO 自动生成的方法存根                
    }
};

静态内部类:

public class Test {

    static class timeClassTmp1 implements TimeService
    {
        @Override
        public void timer() {
            // TODO 自动生成的方法存根            
        }    
    }
    public static void main(String[] args) {
        TimeService timeService=new timeClassTmp1();
        timeService.timer();
    }
}

 局部内部类:

public class Test {
    public static void main(String[] args) {    
        class timeClassTmp2 implements TimeService
        {
            @Override
            public void timer() {
                // TODO 自动生成的方法存根        
            }    
        }
        
        TimeService timeService=new timeClassTmp2();
        timeService.timer();    
}

 

2021.09.16

posted @ 2021-09-16 20:51  胸前小红花  阅读(27)  评论(0)    收藏  举报