為什么在方法中定義的內部類只能訪問方法中的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(常量)的,因為這樣可以使變量全局化,就相當於是在外部定義的而不是在方法里定義的


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM