[英]create instance of enclosing class
假设我有这样的结构:
public class Foo {
public class Bar {
}
}
现在,如何在创建Foo后创建Bar的实例? 像这样但不是这样的:
Foo foo = new Foo();
Foo.Bar bar = new foo.Bar();
你快到了:
Foo foo = new Foo();
Foo.Bar bar = foo.new Bar();
Foo fooInstance = new Foo();
Foo.Bar barInstance = fooInstance.new Bar();
您需要将内部类设置为static
,以便可以在不创建外部类实例的情况下引用它。
public class Foo {
public static class Bar {
}
}
现在你可以在不创建Foo
实例的情况下引用Bar
,
Foo.Bar bar = new Foo.Bar();
有两种方法可以实现
保持你的内部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();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.