标题:
成员内部类,局部内部类,匿名内部类与Static,final 更新2
[打印本页]
作者:
look_w
时间:
2019-3-8 18:55
标题:
成员内部类,局部内部类,匿名内部类与Static,final 更新2
匿名内部类反编译
public class InnerClassDemo
{
public InnerClassDemo()
{
}
public static void main(String args[])
{
InnerClassDemo innerClassDemo = new InnerClassDemo();
innerClassDemo.show();
}
public void show()
{
final int i = 10;
(new TestDemo1() {
final int val$i;
final InnerClassDemo this$0;
public void showInner()
{
System.out.println(i);
}
{
this.this$0 = InnerClassDemo.this;
i = j;
super();
}
}).showInner();
}
}
局部内部类访问成员变量不需要加final修饰,为啥访问局部变量需要加final修饰?
因为局部变量的生命周期是随着方法的调用是消失,而局部内部类可以理解为对象
它的生命周期要长于局部变量的,这个时候就需要加final变为常量或者地址值不可变
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0