我正在尝试创建一个其中包含对象元素的父类,但我想将此对象限制为扩展父类的类型。我尝试过以以下形式使用泛型
<T extends ParentClass> T
但这不起作用。
这是我目前正在使用的示例。
public class ParentEvent {
private Object event;
private String type;
private Date time;
private String id;
public ParentEvent() {
event = null;
type = null;
time = null;
id = null;
}
public ParentEvent(String type, String id, Date time, Object event) {
this.event = event;
this.type = type;
this.time = time;
this.id = id;
}
public Object getEvent() { return event; }
public void setEvent(Object event) { this.event = event; }
// Other get/set methods removed for clarity
}
我如何将上述代码中引用的对象限制为扩展父类的对象?
最佳答案
你的意思是:
public class ParentEvent<T extends ParentEvent<?>>
{
private T event;
...
public T getEvent() {...}
...
public void setEvent(T event) { ... }
}
然后, child 是:
public class ChildEvent extends ParentEvent<ChildEvent>
关于java - 创建一个包含仅限于子类的对象的父类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17275724/