我有一些这样的代码:
public abstract class Foo {
public static Foo getFoo() {
return new FooImpl();
}
abstract void DoFoo();
private class FooImpl extends Foo {
public FooImpl() { }
@Override
void DoFoo() { }
}
}
但是 Eclipse 告诉我No enclosing instance of type Foo is accessible.
那么我怎样才能让它工作呢?
我试图让它尽可能简单,看看它是否会编译:
public abstract class Foo {
public static Foo getFoo() {
return new FooImpl();
}
private static class FooImpl extends Foo {
public FooImpl() { }
}
}
我仍然得到同样的错误。我错过了什么?
固定的!我将线路更改return new FooImpl();
为return new Foo.FooImpl();