crushS  

静态代理

静态代理模式总结

  • 真实对象和代理对象都要实现同一个接口

  • 代理对象要代理真实角色

好处

  • 代理对象可以做很多真实对象做不了的事情

  • 真实对象专注做自己的事情

 

Lambda表达式

函数式接口的定义

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

  • 对于函数式接口,我们可以通过Lambda表达式来创建该接口

package com.Spp.Lambda;

/*
推导Lambda表达式
*/
public class TestLambda01 {
   //3. 静态内部类
   static class Like2 implements ILike{
       @Override
       public void lambda() {
           System.out.println("I Like Lambda2");
      }
  }

   public static void main(String[] args) {
       ILike like = new Like();// 接口new实现类
       like.lambda();
       like = new Like2();
       like.lambda();
       //4. 局部内部类
       class Like3 implements ILike{
           @Override
           public void lambda() {
               System.out.println("I Like Lambda3");
          }
      }
       like = new Like3();
       like.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();
  }
}

//1. 定义一个函数式接口
interface ILike{
   void lambda();
}

//2. 实现类
class Like implements ILike{
   @Override
   public void lambda() {
       System.out.println("I Like Lambda");
  }
}

 

package com.Spp.Lambda;

public class TestLambda02 {

   public static void main(String[] args) {
       ILove Ilove = null;
       /*//1. Lambda表示简化
      ILove Ilove = (int a)-> {
           System.out.println("I Love You->"+a);
       };
      //简化1. 简化参数类型
       Ilove = (a)-> {
           System.out.println("I Love You->"+a);
       };*/
       //简化2. 简化括号
/*       Ilove = a-> {
           System.out.println("I Love You->"+a);
       };*/
       //简化3. 去掉花括号
       Ilove = a-> System.out.println("I Love You->"+a);

      Ilove.love(520);
       //总结:

        // Lambda表达式只能在有一行代码的情况下才能简化成为一行,如果有多行,那么就用代码块包裹
       // 前提是接口为函数式接口(接口里只有一个方法)
       // 多个参数也可以去掉参数类型,要去掉就都去掉,必须加上括号
  }
}
interface ILove{
   void love(int a);
}

 

posted on 2021-08-18 22:14  crushS  阅读(159)  评论(0编辑  收藏  举报