考虑
public abstract class Foo{
///some code
class Foo1 extends Foo
{
//// some code
}
class Foo2 extends Foo
{
///// some code
}
}
如何创建内部类的对象?
答案 0 :(得分:1)
要实例化嵌套的非静态(内部)类,需要一个封闭类的实例。
但是你的封闭类是抽象的,所以你不能实例化它。你应该怎么做?
如果你真的需要非静态嵌套类,那么唯一的选择是扩展抽象类,并使用扩展类的实例来实例化内部类。
$page_url
答案 1 :(得分:-1)
你需要另一个扩展Foo的顶级类:
class Foo3 extends Foo {
Foo foo;
Foo3(){
foo= new this.Foo2();
}
}
或声明static
内部类:
public abstract class Foo{
///some code
class Foo1 extends Foo
{
//// some code
}
class Foo2 extends Foo
{
///// some code
}
static class Foo3 extends Foo {
Foo foo;
Foo3(){
foo= new this.Foo2();
}
}
}