Java 如何动态生成接口的实现

Java 如何动态生成接口的实现,java,dynamic,reflection,Java,Dynamic,Reflection,假设我有一个为服务器提供连接属性的接口: public interface ServerConfig { String getHostname(); int getPort(); } 是否有任何方法可以在运行时动态创建所述接口的实现类,该类将从某些任意源(应用程序参数、系统属性、外部配置文件等)返回值 更具体地说,假设有一个.properties文件,其中包含以下内容: hostname = localhost port = 80 和一种方法 ServerConfig fr

假设我有一个为服务器提供连接属性的接口:

public interface ServerConfig {
    String getHostname();

    int getPort();
}
是否有任何方法可以在运行时动态创建所述接口的实现类,该类将从某些任意源(应用程序参数、系统属性、外部配置文件等)返回值

更具体地说,假设有一个
.properties
文件,其中包含以下内容:

hostname = localhost
port = 80
和一种方法

ServerConfig fromFile(String filename);
调用此方法应返回动态生成的
ServerConfig
实现的实例,该实现将从
参数中指定的
.properties
文件返回值

澄清:


目标是能够添加额外的接口,其方法将返回外部源(即
.properties
文件)中指定的值,而无需每次手动实现。一个简单的解决方案是创建接口的实现,这些接口返回与被调用的接口方法名匹配的属性值,即调用
getHostname()
将返回
hostname
属性的值,调用
getBla()
从其他接口查找并返回
bla
属性的值,等等。

您不需要执行类似操作。

您只需编写一个实现接口的普通类,并将文件名作为构造函数参数。

是的,接口就是这样,在运行时您可以实例化要实现它的类。我不知道这里的实际问题是什么,你只是问如何使用接口吗?我想在运行时动态生成实现interfaceUse多态性的类?写代码?工厂?开关语句?这些要求令人困惑。请描述你为什么认为你需要这个/你的目标是什么。代码不像魔术。开发人员只需编写代码。创建一个具体的
public类properties文件服务器配置实现ServerConfig
,并在调用
fromFile()
时返回它的具体实例。