延迟方法的调用---日志错误等级的输出

 1 public class lambdaDemo {
 2     /*
 3     * 这个方法主要是用来延迟创建实例的
 4     * 1. 采用接口,在接口中定义唯一的方法
 5     * 2. 在main方法中用匿名内部类的方式调用
 6     * 3. 记住在logMsg 中调用方法的时候还是要initInter.initMsg()调用
 7     *    这样才有返回值
 8     *
 9     * */
10     public static void logMsg(int i,initInter initInter){
11         if (i==1){
12             System.out.println(initInter.initMsg() +"运行正常");
13         }else if (i==2){
14             System.out.println(initInter.initMsg() +"2级错误");
15         } else if (i==3){
16             System.out.println(initInter.initMsg() +"3级错误");
17         }
18     }
19     public static void main(String[] args) {
20         String name = lambdaDemo.class.getName();
21         logMsg(1, new initInter() {
22             @Override
23             public String initMsg() {
24                 return "main"+"-"+name +"test";
25             }
26         });
27     }
28 }

在接口的实现中,可以用注解的方式来约束

接口中只有一个方法

1 // 用来约束只有一个实现的方法
2 @FunctionalInterface
3 public interface initInter {
4     String initMsg();
5 }

 

posted @ 2019-08-28 21:03  Gookiki  阅读(137)  评论(0编辑  收藏  举报