本文主要是介绍java内部类引用外部类的变量时必须是final变量,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
每次android的触发事件时总是遇到内部类中不能调用外部类的非final变量。。但不知道什么原因,然后今天看到一个帖子上的跟们说的不错。知道原来是关于类的生命周期的问题。
我的解决方法是将方法内的方法定义到方法外部来。。
今天编写一个多线程程序,发现在方法内定义内部类时,如果内部类调用了方法中的变量,那么该变量必须申明为final类型,百思不得其解,后来想到应该是生命周期的原因,因为方法内定义的变量是局部变量,离开该方法,变量就失去了作用,也就会自动被消除,而内部类却不会离开它所在方法就失去作用,它有更广的生命周期,下面通过一个实例加以说明:
这篇关于java内部类引用外部类的变量时必须是final变量的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!