如何在 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/