public class InnerClassFinalVar {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
InnerClassFinalVar icfv = new InnerClassFinalVar();
}
int i = 10;
void setMValue(){
final int m = 0; //這裏必須是final
class D{
void setMValue(){
//m = 11;
//因爲如果m不是final的話,內部類就可以改變m的值
//外部類的m值是不會改變的,這樣就出現了多值的情況,這是不允許的。
}
}
new D().setMValue();
}
}
局部變量必須是最終的,以避免內部類改動變量值。