lambda表达式与匿名内部类的简单转换

今天因为项目需要,将lambda表达式转换成JDK1.6能用的代码,简单的记录一下;

public interface ActionListener {
    void actionPerformed(String s);
}

public class Main {
    
    public Main(ActionListener a) {
        super();
        a.actionPerformed("MD");
    }

    public static void main(String[] args) {
        //参数列表、箭头符号->和函数体组成。函数体既可以是一个表达式,也可以是一个语句块:
        /*new Main((String s) ->{
            System.out.println(s);
        });*/
        new Main(new ActionListener() {
            
            @Override
            public void actionPerformed(String s) {
                // TODO Auto-generated method stub
                System.out.println(s);
            }
        });
}}

PS:一直以为接口和抽象类不能直接实例化,这里注意到了ActionListener是一个接口,作为匿名内部类能直接实例化;

猜你喜欢

转载自www.cnblogs.com/city85/p/9707624.html