Java:从嵌套类到主类的访问权限?

时间:2014-01-11 23:58:52

标签: java nested-class

代码:

public class A{
  B b = new B();

  public class B{
    public void fun(){ send(A); }
  }

我想用B中的所有A对象做点什么。 我可以在A类中创建方法:

private A getThis(){return this;}

但它是其他解决方案(某些关键字)吗?

2 个答案:

答案 0 :(得分:4)

在内部类中尝试此代码。

A.this

它应该为您提供外部类的封闭实例的引用。

这是一个小例子。

public class A {
    private B b = new B();

    public class B {
        public void fun() {

        }
        public A getEnclosing(){
            return A.this;
        }
    }

    public static void main(String[] args){
        A a = new A();
        System.out.println(a == a.b.getEnclosing());
    }
}

答案 1 :(得分:0)

尝试

B b = new B(this);

然后B contructor

public B(A a) {
    this.a = a;
}