匿名内部类和lambda表达式

 1 package com.array.jun;
 2 
 3 /**
 4  * 
 5  * @author pengjun
 6  * @version 1.0
 7  */
 8 interface A{
 9     public void x();
10     public String y();
11 }
12 
13 interface A2{
14     public void z();
15 }
16 
17 class B{
18     public void Test1(A a){
19         System.out.println("我是B的一个方法!");
20         a.x();
21         System.out.println(a.y());
22     }
23     
24     public void Test2(A2 a){
25         System.out.println("我是B的另外一个方法!");
26         a.z();
27     }
28 }
29 
30 
31 /**
32  * 测试类
33  * @author pengjun
34  * @version 1.0
35  */
36 public class Case {
37     
38     public static void main(String[] args) {
39         // TODO Auto-generated method stub
40         B b = new B();
41         b.Test1(new A(){        //匿名内部类
42 
43             @Override
44             public void x() {
45                 // TODO Auto-generated method stub
46                 System.out.println("我是A的一个未实现方法!");
47             }
48 
49             @Override
50             public String y() {
51                 // TODO Auto-generated method stub
52                 return "我们都被实现了!";
53             }
54             
55         });
56         
57         b.Test2(() ->{                    //lambda表达式
58             System.out.println("我是Z!");
59         });
60     }
61 
62 }

猜你喜欢

转载自www.cnblogs.com/xiyixin/p/10433520.html