我有一些像这样的代码:我的工厂有什么问题?
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();
public Foo getFoo()应该是public static Foo getFoo()。 猜测一个错误只出现在错误中,并且getFoo是静态的。 – 2009-12-08 02:32:41
是的,你是对的。 – jasonh 2009-12-08 02:38:50