下面是Java代码:
RequestV1 request;
...
validateRequest(request);
....
public void validateRequest(final XmlObject request){...}
我创建了这个Java对象:
@Getter
@Setter
public class RequestV1 {
public static class Factory {
public static RequestV1 newInstance() {
return new RequestV1();
}
}
......
}
在validateRequest(request);
这一行出现错误:
Required type: XmlObject
Provided: RequestV1
我试着像这样实现抽象类:
import org.apache.xmlbeans.XmlObject;
@Getter
@Setter
public abstract class RequestV1 implements XmlObject {
public static class Factory {
public static RequestV1 newInstance() {
return new RequestV1();
}
}
但是在这行return new RequestV1();
我得到错误:'RequestV1' is abstract; cannot be instantiated
我需要这个新示例像这样使用它:RequestV1 requestV1 = RequestV1.Factory.newInstance();
你知道我如何编辑RequestV1
或重组它,以满足所有需求吗?
我试着像这样实现抽象类:
import org.apache.xmlbeans.XmlObject;
@Getter
@Setter
public abstract class RequestV1 implements XmlObject {
public static class Factory {
public static RequestV1 newInstance() {
return new RequestV1();
}
}
2条答案
按热度按时间nuypyhwy1#
你必须实现接口的方法你的类正在实现。唯一的捷径是是否有一个实际的接口实现供用户扩展。
jhkqcmku2#
类型要求
您的要求是:
request
可以作为参数传递给方法该方法具有以下签名:
表示它接受
XmlObject
类型的示例。因此,一个对象必须(1)是(2)类实现接口XmlObject
的示例设计满足此需求的类
1.要创建示例,类不能是
abstract
,而是具体的。1.类必须实现
XmlObject
同时满足:(1)具体的和可示例化的(=不是抽象的)和(2)实现XmlObject。