预信息。
public abstract class Person {}
public class A extends Person{}
public class B extends Person{}
public class C extends Person{}
public X getPersonByType(String type){
//This Method will return either A or B or C based on type
//what should X be ?
}
我需要创建一个方法,该方法接受 aString
并返回一个对象,该对象是Person
.
更多信息。每个 ABC 类都有一个属性 public List 角色。这些不能移动到 Person 类,因为我需要这些唯一命名的(JPA 多对多表)。
现在如果可能,我不希望它返回person
,因为我将无法访问角色属性(Person 不知道它)。我也更喜欢不需要我强制转换或使用 instanceOf 的解决方案(如果可能的话)(如果可能的话)。
PS 试过<? extends Person>
,但 Eclipse 给了我错误“缺少返回类型的方法”