java中匿名内部类理解 :
局部变量分配在JVM的虚拟机栈中,这部分内存空间随着程序的执行自动回收】,也即:局部变量的作用域是在 “方法的范围内”。
但是,当(局部)内部类访问 局部变量 时,会扩大局部变量的作用域,此时必须需对局部变量加final修饰。
分析 : Outer.method().show() 可以理解为:
Outer.method()说明method()是一个static修饰的方法,并且方法返回值是一个Inter对象
所以 ,Outer补齐代码如下 :
class Outer {
public static Inter method(){
return new Inter(){
void show(){
System.out.printly("HelloWorld");
}
};
}
}