本帖最后由 真真姐 于 2012-10-21 14:26 编辑
局部意思就是方法内部的意思
比如说你在Book类的方法write()的内部,定义了一个Reader类,那么这个类就是局部内部类!
你想访问所在方法的变量的话,当然需要用final,而且必须是在类的加载之前同时在类的初始化之前
给你举个例子把
public class Book {
public write () { final int a =5; //去掉final就会报错的啊 ,同时把a的初始化放到InnerClass类的后面执行也出错,a必须优先加载
class Reader { private int b; public Reader (int m) { this.b = a; } public void show() { System.out.println(b); } } new InnerClass(b) .show(); }
}
一目了然,关于内部类引用变量的问题!
|