我正在使用 Jaxb 生成 Java 类。我的架构定义了以下元素:
<xs:complexType name="AutomobileType" abstract="true">
<xs:sequence>
<xs:element name="Color" type="core:ColorName"/>
<xs:element name="Weight" type="core:PoundsWeightType"/>
<xs:element name="Fuel" type="Fuel"/>
<xs:element name="NumDoors" type="xs:nonNegativeInteger"/>
<xs:element name="NumCylinders">
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:minInclusive value="1"/>
<xs:maxInclusive value="12"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:element name="Automobile" type="AutomobileType"/>
如您所见,我有一个元素称为Automobile。
Jaxb 创建了我用来创建汽车实例的类和ObjectFactory。让我感到困惑的是创建汽车实例的方法如下:
public JAXBElement<AutomobileType> createAutomobile(AutomobileType value)
为什么createAutomobile方法有参数?我该如何使用这种方法?
我尝试了以下方法:
ObjectFactory objectFactory = new ObjectFactory();
objectFactory.createAutomobile(new Automobile());
但这不会编译,因为汽车类是抽象的,因此我无法创建实例。