我試了下你的代碼,發現方法内的變量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();
}