我有一个Cage类:
public class Cage<T extends Animal> {
// the construtor takes in an integer as an explicit parameter
...
}
Run Code Online (Sandbox Code Playgroud)
我试图在另一个类main方法中实例化Cage的对象:
private Cage cage5 = new Cage(5);
Run Code Online (Sandbox Code Playgroud)
我得到错误:Cage是原始类型.应参数化对泛型类型Cage的引用.我尝试了几个想法,但我对这种棘手的语法感到困惑:o(
cdh*_*wie 18
Cage<T>
是一个泛型类型,所以你需要指定一个类型参数,就像这样(假设有一个class Dog extends Animal
):
private Cage<Dog> cage5 = new Cage<Dog>(5);
Run Code Online (Sandbox Code Playgroud)
您可以使用任何扩展Animal
(甚至Animal
自身)的类型.
如果省略类型参数,那么在这种情况下最终结果就是Cage<Animal>
.但是,即使这是您想要的,您仍应显式声明类型参数.
归档时间: |
|
查看次数: |
33156 次 |
最近记录: |