package 内部类例子;public class Part_Inner {
public int out1;
public void method1 (final int p1,int p2){
int local1=1;
final int local2=2;
class inner{
public int inner1=out1;
public int inner2=p1;
// public int inner3=p2; //报错
// public int inner4=local1;//报错
public int inner5=local2;
public void method2(){
// System.out.println(p2);//报错
// System.out.println(local1);//报错
}
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
}
}
为什么局部内部类无法访问他所在方法的一般成员变量local1,而只能够访问final修饰的变量local2, 但是却能访问外部类的一般变量ou1;
请问这是什么原因啊??
public int out1;
public void method1 (final int p1,int p2){
int local1=1;
final int local2=2;
class inner{
public int inner1=out1;
public int inner2=p1;
// public int inner3=p2; //报错
// public int inner4=local1;//报错
public int inner5=local2;
public void method2(){
// System.out.println(p2);//报错
// System.out.println(local1);//报错
}
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
}
}
为什么局部内部类无法访问他所在方法的一般成员变量local1,而只能够访问final修饰的变量local2, 但是却能访问外部类的一般变量ou1;
请问这是什么原因啊??
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货