【发布时间】:2016-10-15 11:52:29
【问题描述】:
我正在从 XSD 生成类。对于 XSD 中的每个修订版,都会生成一个具有相同名称但在不同包下的新类。如果“Foo”是类,则类名将是:model.v1.Foo、model.v2.Foo 等。来自每个修订版。
无论类的版本如何,一些操作都是常见的。有没有办法创建一个通用方法,可以占用任何版本的 Foo 类
public static String doOperation(Foo foo){
//Do some operation
}
DoOperation 方法需要对所有版本通用。
【问题讨论】:
-
你正在将版本添加到包名中?为什么?
-
这就是它已经存在的方式,我无法改变它。所有版本仍在使用中,必须支持。
-
所有
Foo版本都可以实现接口吗?或者是子类(扩展)一个类? -
@c0der 不,这些类已经生成并提供给我们。
-
所有
Foo版本都有一个共同的超类吗?你能扩展Foo并使用它的子类吗?
标签: java