小知识:匿名类和lambda有什么区别?

我只发现了关于this的区别:

匿名类的this,是指匿名类的实例对象。

lambda的this,是指外部类的实例对象。

测试代码如下:

/**
 * Created by LarryZeal on 2017/9/13.
 */
public class ThisTest {
    public static void main(String[] args){
        ThisTest thisTest = new ThisTest();
        thisTest.test();
    }

    public void test(){
        new Thread(new Runnable() {
            @Override
            public void run(){
                System.out.println("匿名类的this: " + this);
            }
        }, "t1").start();

        new Thread(() -> {
            System.out.println("lambda的this: " + this);
        }, "t2").start();
    }

    @Override
    public String toString(){
        return "我是ThisTest.java的实例";
    }
}
原文地址:https://www.cnblogs.com/larryzeal/p/7513544.html