参数的引用就要涉及到闭包(在java中,一个类就是一个闭包)以及引用的‘对象’
是capture-by-value还是capture-by-reference
对于普通内部类,是capture-by-reference,
内部类可以显示创建对象,通过引用可以改变外部类变量的值,做到内外变量的同步,也就没有final
对于匿名内部类,是capture-by-value,
内部类不能显示构造对象,也就没有引用,不能改变外部类的变量,导致内外变量的不同步,所以干脆一刀切,给外部变量一个final修饰