內部類的訪問局部變量

 

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();
	}
}

局部變量必須是最終的,以避免內部類改動變量值。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章