Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何实例化类<;?扩展标签>;对象_Java_Class_Generics - Fatal编程技术网

Java 如何实例化类<;?扩展标签>;对象

Java 如何实例化类<;?扩展标签>;对象,java,class,generics,Java,Class,Generics,我正在使用一个新的API,我在实例化一个类对象时遇到了问题,API定义了一个抽象类标记及其子类,如IntTag、DoubleTag、StringTag、ListTag。。。等等,我现在正在和最后一个战斗,因为 建造商如下: public ListTag(final String name, final Class<? extends Tag> type, final List<Tag> value); publicListTag(最终字符串名,最终类您将传入一个扩展Ta

我正在使用一个新的API,我在实例化一个类对象时遇到了问题,API定义了一个抽象类标记及其子类,如IntTag、DoubleTag、StringTag、ListTag。。。等等,我现在正在和最后一个战斗,因为 建造商如下:

public ListTag(final String name, final Class<? extends Tag> type, final List<Tag> value);

publicListTag(最终字符串名,最终类您将传入一个扩展
Tag
的类,如
IntTag.Class
DoubleTag.Class


该类型没有公共构造函数,因此您无法使用典型的
new
语法实例化一个。您必须依赖编译器来解析,比如
IntTag.class
,或者通过函数获取实例,比如。

您不能。
ClassHow-about
new-ListTag(“some Name”,IntTag.class,myList)
。你不需要实例化那种类型的对象,你可以给它任何Tag类型的对象或Tag的任何子类型。请不要尝试实例化
Class
类型的对象。只需使用
Classname.Class
即可。在你的情况下,只需使用
Tag.Class
。然后使用…
DoubleTag.Class
或任何其他老实说,如果你现在还不理解它,你应该回到关于继承的教程,等等。