只需将其添加到定义泛型的位置即可:
public abstract class Translator <T extends OriginalText, V> { public abstract <V extends LanguageTranslation> V translate(T originalText);}顺便说一句,这令人困惑,因为
V在您的方法中覆盖了定义。为什么不这样做:
public abstract class Translator <T extends OriginalText, V extends LanguageTranslation> { public abstract V translate(T originalText);}编辑:解释为什么您对V有警告
与以下内容完全相同:
public abstract class Translator <T extends OriginalText, V> { public abstract <K extends LanguageTranslation> K translate(T originalText);}现在在方法内部,您具有3个泛型:
- 运行时确定的LanguageTranslation子类型K
- 运行时确定的OriginalText子类型T
- V运行时确定的Object的子类型(默认约束)



