2015-05-21 228 views
2

我有以下的通用類:泛型類型的子類

public class Evalutor<T>{ 

} 

我想如下創建名爲NumberEvalutor類型:

public class NumberEvalutor<T> extends Evalutor<T extends Number>{ //Syntax error on token "extends", , expected 

} 

但我不能這樣做的。也許你可以建議另一種類型安全的方式?

回答

10

嘗試:

public class NumberEvalutor<T extends Number> extends Evalutor<T> { 

} 

類級類型參數(如<T extends Number>)必須在類名後引入,可以在超類/超接口列表被稱爲。否則,在創建類實例時,將無法(明確)指定其運行時值。

+0

事實上,好主意! –

4

這應該工作:)

public class NumberEvaluator<T extends Number> extends Evaluator<T> { 
}