为什么局部变量必须以final修饰(或者有final实效:java8)才可以在内部类中使用? public class Ace { public static void main(String[] args) throws Exception { go1(); go2(); // 这个编译不能通过,运行不了,详情看下面的说明 } static void go1() { final int n = 5; new Ace() { void go() { test(n); // 并不会改变 n 的值…