爲什麼在方法中定義的內部類只能訪問方法中的final類型的局部變量?

class InOut
{
	String str=new String ("Between");
	public void amethod(final int iArgs)
	{
		int it315=10;
		class Bicycle
		{
			public void sayHello()
			{
				System.out.println(str);
				System.out.println(iArgs);
				System.out.println(it315);//此處編譯出錯:InOut.java:13: local variable it315 is accessed from within inner class; needs to be declared final
			}
		}
	}
}
java中規定,內部類只能訪問外部類中的成員變量,不能訪問方法中定義的變量,如果要訪問方法中的變量,就要把方法中的變量聲明爲final(常量)的,因爲這樣可以使變量全局化,就相當於是在外部定義的而不是在方法裏定義的

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章