java - 创建匿名动态运行时实例

标签 java

如何在 java 中在运行时动态创建接口(interface)的实现?

我有一个工厂,它将读取类 Foo 上的注释并创建类 Bar 的实例。为了使这个工厂类型安全,我希望我的客户端工厂能够与接受 Foo 类型并返回 Bar 类型的工厂方法接口(interface)。然后我希望我的工厂在运行时实现这个工厂方法。

所有这一切都是因为工厂代码冗余且难以维护。如果在运行时生成,它将始终是最新的。

示例:

public class Foo{
    private String name;

    public String getName(){
        return name;
    }

    public void setName(String name){
        this.name = name;
    }
}

public class Bar{
    private String personName;

    public String getPersonName(){
        return personName;
    }

    public void setPersonName(String personName){
        this.personName= personName;
    }
}

public interface BarFactory{
    Bar create(Foo foo);
}

有办法做到这一点吗?

最佳答案

使用Java代理反射。请参阅此处的示例:http://docs.oracle.com/javase/7/docs/api/java/lang/reflect/Proxy.html

关于java - 创建匿名动态运行时实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11739383/

相关文章:

java - Spring Batch 输出记录多于输入记录

java - 如何在 Java GUI 中设置 JTextArea 的自动滚动?

java - JHipster > 发出 post 请求时访问被拒绝

Java for循环打印一年中的每个月

java - 使用 ActimeMQ 和 Spring Consumer 通过 mqtt 发送和接收图像文件

java - POST 请求的安全性

java - 为什么我在 try catch JSP 输出时无法包装 ServletRequest

java - 无法将 boolean 值更改为 true

java - 访问变量类型 List<File>(lib-gwt-file 和 GWT)时出现 UmbrellaException

java - 第一次使用 XML,这个错误是什么意思?