JAVA内部类继承问题中输出外部类对象!!!

public class Main{
class A{
int a;
public A(int a1){a=a1;}
}
public static void main(String[] arges){

}

}
class B{
private int i=0;
class Binter extends Main.A{
public Binter(Main M,int a2){
M.super(a2);
}
public void f(){
System.out.println(B.this);
System.out.println(Main.this);
}
}
public static void main(String[] arges){
B b=new B();
Main m=new Main();
B.Binter bb=b.new Binter(m,2);
bb.f();
}
}

为什么“System.out.println(Main.this);”会出现"在作用域中,没有任何类型 Main 的外层实例可访问"错误信息?

看看这个就知道报错的原因:http://blog.csdn.net/cto_51/article/details/8962357

内部类想要用外部的属性 这个外部属性必须用final修饰