1

可能重复: java.lang.reflect.Proxy 的替代品,用于创建抽象类的代理(而不是接口)

假设我有这个类:

public class MyClass {
    public void doStuff() {
        //stuff
    }

    public int getSomeIntStuff() {
        //int stuff
        return intStuff;
    }

    private void helperStuff() {
        //helper Stuff
    }
}

有没有办法获得一个代表这个类的公共接口的接口类(动态生成?)?

此类的公共接口(如果已编写)将如下所示:

public interface MyClassInterface {
    void doStuff(); 
    int getSomeIntStuff();
}

但这必须以某种方式动态生成,我希望是这样的:

Class<?> interfaceClass = MyClass.class.getEncompasingInterface();

我试图实现的是基于一些现有类而不是现有接口创建一个 Java 代理,并且该Proxy.newProxyInstance(ClassLoader, Class<?>[], InvocationHandler)方法期望作为第二个参数严格地列出 Java 接口而不是类。

4

0 回答 0