关闭

方法中的内部类能不能访问方法中的局部变量,为什么?

2624人阅读 评论(3) 收藏 举报
分类:

个人总结:

      一个类中的内部类,其实这个内部类相对这个类就和以他方法和属性一样的。只是内部类的生命周期和这个类的属性生命周期是不同的。
 在内存中,类的属性会被分配到栈中的。当调用结束的时候就会退栈,也就是说在内存中这个属性就消失了。内部类也是类,只用在内存
 中对他的引用消失了才会死亡的内部类,这个时候内部类调用类中已经结束调用的属性是不可能的。也就是说局部类的生命周期超过了类的
 局部变量。解决的办法就是在局部变量前加上final,这样类中属性就会被分配在堆内存中,生命周期是和工程的生命周期一样了,其内部类
 就可以调用了。

       

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:96403次
    • 积分:1657
    • 等级:
    • 排名:千里之外
    • 原创:57篇
    • 转载:54篇
    • 译文:0篇
    • 评论:33条
    最新评论