預信息的任何類型。如何創建法的返回類型的超
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 ?
}
我需要創建這需要在一個String
並返回一個對象,它是的Person
一個亞型的方法。
更多信息。 每個類A B C都有一個屬性public List角色。這些不能移動到Person類,因爲我需要這些唯一命名的(JPA多對多表)。
現在,如果可能,我不希望它返回person
,因爲我無法訪問roles屬性(Person不知道它)。我也更喜歡一個解決方案(如果可能的話),它不需要我投入或使用instanceOf(如果可能,再次使用)。
P.S試圖<? extends Person>
但是Eclipse給我
讓它返回'Person'。 –
請參閱[泛型](http://docs.oracle.com/javase/tutorial/extra/generics/index.html)和[通配符](http://docs.oracle.com/javase/tutorial/extra/generics /wildcards.html) – Justin
@gangqinlaohu:沒有跡象表明泛型在這裏是合適的。 –