小编Bre*_*nes的帖子

你能用泛型进行方法重载,只改变方法签名的泛型类型吗?

如果你不使用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)

这是非法的吗?

java oop generics overloading

9
推荐指数
1
解决办法
6000
查看次数

标签 统计

generics ×1

java ×1

oop ×1

overloading ×1