1

我是对的,不可能将动态代理与 java 枚举一起使用吗?

提前致谢。

4

2 回答 2

2

Java 中的动态代理只能为接口创建。

但是,enums 可以实现接口,因此您可以让您enum实现一个接口,然后为该接口创建一个动态代理:

public interface A { ... }
public enum B implements A { ... }

A a = Proxy.newProxyInstance(cl, new Class[] { A.class }, ih);
于 2011-12-07T14:46:22.227 回答
1

这听起来对我来说是正确的——就像你不能对静态成员使用动态代理一样。

为什么你首先需要这样做?枚举通常应该是不需要或不应该首先被代理的值对象或常量。

于 2011-12-07T14:32:55.837 回答