Java创建泛型类型的实例

Java创建泛型类型的实例,java,generics,Java,Generics,可能重复: 在C语言中,我可以使用类Activator或defaultT,但在Java中如何使用呢? 我有一个自定义类,比如 public class Foo<T extends FooBase> ... 但是T没有课吗?那我能做什么呢?给你的班级上课=新班级 只能使用现有构造函数 public class Foo<T extends FooBase>{ T base= (T) new FooBase(); } 像newfoo那样调用构造函数有什么不对呢,

可能重复:

在C语言中,我可以使用类Activator或defaultT,但在Java中如何使用呢? 我有一个自定义类,比如

public class Foo<T extends FooBase> ... 

但是T没有课吗?那我能做什么呢?

给你的班级上课=新班级

只能使用现有构造函数

public class Foo<T extends FooBase>{
    T base= (T) new FooBase();
}

像newfoo那样调用构造函数有什么不对呢,其中类Bar扩展了FooBase?很好地回答了你的问题!再看看您的问题,我认为您可能对泛型在java中的工作方式有一个错误的概念。你应该仔细阅读,例如Reigo上面链接的答案和教程。不,你不能:没有包含泛型的参数type@jlordo如果您没有构造函数FooBase{},那么当然。不,您缺少新的关键字。当然,我很傻。我看到的是必须存在的东西,而不是存在的东西。现在明显的语法错误消失了。但它仍然无法编译。编译器将告诉您类型不匹配:无法从FooBase转换为T。请用一个简单的示例进行尝试。@jlordo是的,现在我明白了,它也需要T。非常感谢。很抱歉我现在才在IDE上检查过。
public class Foo<T extends FooBase>{
    T base= (T) new FooBase();
}