假设我有一个为服务器提供连接属性的接口(interface):
public interface ServerConfig {
String getHostname();
int getPort();
}
是否有任何方法可以在运行时动态创建所述接口(interface)的实现类,该实现类将从任意源(应用程序参数、系统属性、外部配置文件等)返回值?
更具体地说,假设有一个 .properties
文件包含以下内容:
hostname = localhost
port = 80
和方法
ServerConfig fromFile(String filename);
调用此方法应返回动态生成的 ServerConfig
实现的实例将从 .properties
返回值filename
中指定的文件论证。
澄清:
目标是能够添加其他接口(interface),其方法将返回外部源(即 .properties
文件)中指定的值,而无需每次手动实现它们。一个简单的解决方案是创建接口(interface)的实现,该实现返回与被调用的接口(interface)方法名称相匹配的属性值,即调用 getHostname()
将返回 hostname
的值属性(property),调用getBla()
从其他一些接口(interface)将查找并返回 bla
的值属性(property)等
最佳答案
你不需要做那样的事情。
您可以编写一个实现该接口(interface)的普通类并将文件名作为构造函数参数。
关于java - 如何动态生成接口(interface)的实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13348629/