码迷,mamicode.com
首页 > 其他好文 > 详细

内部类之局部内部类

时间:2019-04-03 12:26:51      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:不同   成员变量   变量   局部变量   位置   方法   问题   局部内部类   修改   

一、位置

  定义在代码块里和方法里的类

二、结构:

  类:不能被访问修饰符修饰

  属性:能被访问修饰符修饰,不能被sttaic修饰

  方法:能被访问修饰符修饰,不能被static修饰

三、内部类访问外部类

  在普通方法里的内部类可以访问外部类的全部成员

  在静态方法里的内部类只能访问外部类的类成员

四、外部类访问内部类

  在外部类中不能实例化内部类对象,内部类对象只能在该方法中实例化,外部类只能调用该方法

五、局部内部类只能访问final修饰的局部变量

  根本原因:内部类和局部变量的生命周期不同导致的

  内部类是类级别的,它不会因为定义在方法里就随着方法执行完毕而销毁,因此,可能会出现方法执行完毕销毁,而内部类还未销毁,内部类访问了一个不存在的局部变量

为了解决这个问题,内部类会把该局部变量备份成为自己的成员变量,表面上是方法中的局部变量,实际上是访问的备份。但是这样必须保持两者一致,因此需要加final

基本类型:值不变

引用类型:引用不变

六、java1,.8

  i.8更加智能,即使不加声明,默认是final,但是如果修改,就会报错,就不能认为这是final修饰的了

内部类之局部内部类

标签:不同   成员变量   变量   局部变量   位置   方法   问题   局部内部类   修改   

原文地址:https://www.cnblogs.com/cc-umf-lm/p/10647822.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!