我有一个班级
public class Product {
...
}
和
public class Phone extends Product {
...
}
我想返回一个通用对象。现在我尝试一下:
public <T extends Product> T getProduct()
{
return new Phone();
}
但编译器给我错误:
Incompatiple types :
Required : T
Found : Phone
出了什么问题?我怎么解决这个问题?
答案 0 :(得分:5)
通用回报? 如果您正在寻找可以适用于Product的所有子类型的返回类型,那么这应该可行。
public Product getProduct() {
return new Phone();
}
答案 1 :(得分:0)
将<T extends Product>
替换为Product