我是对的,不可能将动态代理与 java 枚举一起使用吗?
提前致谢。
Java 中的动态代理只能为接口创建。
但是,enum
s 可以实现接口,因此您可以让您enum
实现一个接口,然后为该接口创建一个动态代理:
public interface A { ... }
public enum B implements A { ... }
A a = Proxy.newProxyInstance(cl, new Class[] { A.class }, ih);
这听起来对我来说是正确的——就像你不能对静态成员使用动态代理一样。
为什么你首先需要这样做?枚举通常应该是不需要或不应该首先被代理的值对象或常量。