首先,我知道在 Java 的接口中定义构造函数是不可能的。但不知何故,我遇到了一个问题,我需要一些非常相似的东西。也许我的情况有一个简单的解决方案......
我有一个界面:
public interface SomeObject {
/**
* Generate a xml representation of the object.
*/
public String generateXMLRepresentation();
}
对象的这个 xml 表示将存储在某个地方,以后应该可以使用这个 xml 表示构造对象的副本。我最初的想法是定义一个以 String 作为输入的构造函数,并让 SomeObject 的每个实现都知道如何处理它以及如何构造相应的对象。
我怎样才能做到这一点?
编辑:要么我对此不够清楚,要么我想错了,但我认为工厂或生成器模式行不通。我需要更强大的东西,每个人都可以编写 SomeObject 的新实现,并被迫实现一个采用 xml 字符串的构造函数。换句话说,我不知道 SomeObject 存在多少或哪些实现,但我仍然依赖于每个实现都知道如何从 xml 表示中构造自己。