天天看点

java内部类不能引用局部变量_方法内部类不能调用方法内的局部变量?

我试了下你的代码,发现方法内的变量a没有final关键字是会报错的,所以是需要final关键字。方法内的变量b在该方法体内有效,内部类的变量b在内部类中有效,在内部类中覆盖了外部方法的变量b,所以在内部类并不能调用,只能在外部方法中使用。代码如下:

public void innerClassDemo()

{

final int a =25;//常量

int b=13;//变量

System.out.println("访问外部类方法常量b:" + b);

class M{

int b=12;

int c=2;//\内部类中的变量

public void print(){

System.out.println();

System.out.println(Demo.this.a);

System.out.println("访问内部类变量b:" + b);

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

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

}

}

M s=new M();

s.print();

}