达内广州C++学院|c++培训|广州达内科技C++/C#培训|.NET培训|IT培训|达内广州岗顶中心 达内广州C++学院|c++培训|广州达内科技C++/C#培训|.NET培训|IT培训|达内广州岗顶中心
java程序员
 当前位置:主页 > 高端课程 > java程序员 >

内部类之局部内部类

时间:2019-04-03  来源:未知  作者:广州达内培训

一、位置

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

二、结构:

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

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

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

三、内部类访问外部类

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

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

四、外部类访问内部类

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

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

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

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

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

基本类型:值不变

引用类型:引用不变

六、java1,.8

南海七星彩

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

 

至于匿名内部类,我觉得这位楼主大大写的非常好:https://www.cnblogs.com/chenssy/p/3390871.html




上一篇:Java??????-??????
下一篇:达到什么标准就可以上线了?

友情链接: