小知识:匿名类和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的实例"; } }