从函数式接口--->lambda表达式的转换

从函数式接口—>lambda表达式的转换
public class Testlamda {
    
    
    public static void main(String[] args) {
    
    
        ILike like=new Like1();
        like.lambda();
        like=new Like2();
        like.lambda();


        /**
         * 4.局部内部类
         */
        class Like3 implements ILike{
    
    

            @Override
            public void lambda() {
    
    
                System.out.println("I like lambda3");
            }
        }

        ILike iLike3=new Like3();
        iLike3.lambda();

        /**
         * 5.匿名内部类
         */
        like= new ILike() {
    
    
            @Override
            public void lambda() {
    
    
                System.out.println("I like lambda4");
            }
        };
        like.lambda();

        /**
         * 6.用lambda简化
         */
        like=()-> {
    
    
            System.out.println("I like lambda5");
        };
        like.lambda();

        /**
         * 7.用lambda简化再简化
         */
        like = () -> System.out.println("I like lambda6");
        like.lambda();
    }


    /**
     * 3.静态内部类
     */
    static class Like2 implements ILike{
    
    

        @Override
        public void lambda() {
    
    
            System.out.println("I like lambda2");
        }
    }
}


/**
 * 1.函数式接口
 */
interface ILike{
    
    
    void lambda();
}

/**
 * 2.实现类
 */
class Like1 implements ILike{
    
    

    @Override
    public void lambda() {
    
    
        System.out.println("I like lambda1");
    }
}

猜你喜欢

转载自blog.csdn.net/hsadfdsahfdsgfds/article/details/115721602