创建封闭类的实例

时间:2015-02-16 11:08:29

标签: java

我们说我有这样的结构:

  public class Foo {

        public class Bar {

        }

    }

现在如何在创建Foo后创建Bar实例? 这样的事情,但不是这样:

 Foo foo = new Foo();
 Foo.Bar bar = new foo.Bar();

4 个答案:

答案 0 :(得分:2)

你快到了:

Foo foo = new Foo();
Foo.Bar bar = foo.new Bar();

答案 1 :(得分:1)

Foo fooInstance = new Foo();
Foo.Bar barInstance = fooInstance.new Bar(); 

答案 2 :(得分:0)

您需要创建内部类static,以便您可以在不创建外部类实例的情况下引用它。

public class Foo {

    public static class Bar {

    }

}

现在,您可以在不创建Bar

的实例的情况下引用Foo
Foo.Bar bar = new Foo.Bar();

答案 3 :(得分:0)

有两种方法可以实现

保持内心课non static

class Foo   
{
  ...
  class Bar
  {
   ...
  }
}
 //then 
Foo foo = new Foo();
Foo.Bar car = foo.new Bar();

让你内在课static

public class Foo {
  public static class Bar {
  }
}
public class Test {
...
  Foo.Bar bar = new Foo.Bar();

}