为了账号安全,请及时绑定邮箱和手机立即绑定

请问为什么在外部类的方法中变量a前面要加上final呢,变量a我已经赋值了啊,我又没有用其他的值覆盖它,为什么不加final会报错呢

package lianxi;


public class Neibulei {

public void show(){

final int a=15;

int b=20;

   class Inner{

int c=30;

public void print(){

System.out.println("访问外部类的常量:" +a);

System.out.println("访问内部类的常量:" +c);

}

}

   Inner in = new Inner();

   in.print();

   

}

public static void main(String[] args){

Neibulei nei = new Neibulei();

nei.show();

}


}


正在回答

1 回答

因为fanal的话变量随着方法调用结束就会被释放而方法内部类还在,就是周期 不同不能调用,你用final修饰的话就行了,就像你在外部类的变量无论是有没有final都可以被调用,因为运行周期一样,我的理解大概是这个样子

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

请问为什么在外部类的方法中变量a前面要加上final呢,变量a我已经赋值了啊,我又没有用其他的值覆盖它,为什么不加final会报错呢

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信