为什么在方法中定义的内部类只能访问方法中的final类型的局部变量?
2012-09-28 17:13
477 查看
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(常量)的,因为这样可以使变量全局化,就相当于是在外部定义的而不是在方法里定义的
相关文章推荐
- 为什么在方法中定义的内部类只能访问方法中的final类型的局部变量?
- 为什么在方法中定义的内部类只能访问方法中的final类型的局部变量?
- 为什么匿名内部类只能访问其所在方法中的final类型的局部变量?
- 【转自JavaEye】为什么“局部内部类能且只能访问所在方法中的final类型的参数和变量”?
- 为什么匿名内部类和局部内部类只能访问final变量
- 为什么匿名内部类和局部内部类只能访问final变量
- Java基础-内部类-为什么局部和匿名内部类只能访问局部final变量
- 为什么匿名内部类和局部内部类只能访问final变量
- JAVA匿名内部类不能访问外部类方法中的局部变量,除非变量被声明为final类型
- 为什么匿名内部类和局部内部类只能访问final变量
- 为什么匿名内部类和局部内部类只能访问final变量
- [置顶] 为什么匿名内部类和局部内部类只能访问final类型参数
- 为什么匿名内部类只能访问其所在方法中的final变量
- 为什么匿名内部类只能访问其所在方法中的final变量
- Java中为什么匿名内部类和局部内部类只能访问final变量?
- 为什么匿名内部类只能访问其所在方法中的final变量
- 局部内部类为什么访问方法中的局部变量时局部变量要加final
- 方法中的内部类只能访问final类型的变量
- 方法中的内部类能不能访问方法中的局部变量,为什么
- 局部内部类的成员变量被final修饰才能被局部内部类的方法所访问