如果你不使用Java Generics,我相信在同一个类中只有两个方法不同,它们的返回类型不同.
换句话说,这将是非法的:
public HappyEmotion foo(T emotion) {
// do something
}
public SadEmotion foo(T emotion) {
// do something else
}
Run Code Online (Sandbox Code Playgroud)
在重载返回可能实现不同接口的泛型类型的方法时也是如此,例如,如果在同一个类定义中存在以下两个方法:
public <T extends Happy> T foo(T emotion) {
// do something
}
public <T extends Sad> T foo(T emotion) {
// do something else
}
Run Code Online (Sandbox Code Playgroud)
这是非法的吗?