는이 같은 일부 코드가있어 :내 공장에 문제가 있습니까?
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 Foo.FooImpl();
public Foo getFoo()는 public static Foo getFoo() 여야합니다. 오타가 추측되는 것은 오류 일 뿐이며 getFoo는 정적입니다. –
네, 맞습니다. – jasonh