Java的。如何返回广义对象?

时间:2014-04-07 08:56:40

标签: java android generics

我有一个班级

public class Product {
...
}

public class Phone extends Product {
...
}

我想返回一个通用对象。现在我尝试一下:

public <T extends Product> T getProduct()
{
   return new Phone();
}

但编译器给我错误:

Incompatiple types :
Required : T
Found : Phone

出了什么问题?我怎么解决这个问题?

2 个答案:

答案 0 :(得分:5)

通用回报? 如果您正在寻找可以适用于Product的所有子类型的返回类型,那么这应该可行。

public Product getProduct() {
   return new Phone();
}

答案 1 :(得分:0)

<T extends Product>替换为Product