我通过反射创建我的枚举,为此我向每个枚举添加一个实现抽象工厂的内部类。现在我想访问这个内部类以调用该方法:
@Factory(FooFactory.class)
public enum Foo {
FOO, BAR;
public class FooFactory implements AbstractFactory<Foo> {
public Foo create(String value) {
return valueOf(value.toUpperCase());
}
}
}
的定义@Factory
是:
@Retention(RetentionPolicy.RUNTIME)
public @interface Factory {
Class<?> value();
}
但是,有了这个,我收到以下错误:
类无法解析为 FooFactory.java 类型
当我尝试时,@Factory(Foo$FooFactory.class)
我收到错误:
嵌套的 Foo$FooFactory 不能使用其二进制名称来引用。
那么甚至可以引用嵌套类吗?