Java 如何实例化类<;?扩展标签>;对象
我正在使用一个新的API,我在实例化一个类对象时遇到了问题,API定义了一个抽象类标记及其子类,如IntTag、DoubleTag、StringTag、ListTag。。。等等,我现在正在和最后一个战斗,因为 建造商如下: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
public ListTag(final String name, final Class<? extends Tag> type, final List<Tag> value);
publicListTag(最终字符串名,最终类您将传入一个扩展Tag
的类,如IntTag.Class
,DoubleTag.Class
等
该类型没有公共构造函数,因此您无法使用典型的new
语法实例化一个。您必须依赖编译器来解析,比如IntTag.class
,或者通过函数获取实例,比如。您不能。ClassHow-aboutnew-ListTag(“some Name”,IntTag.class,myList)
。你不需要实例化那种类型的对象,你可以给它任何Tag类型的对象或Tag的任何子类型。请不要尝试实例化Class
类型的对象。只需使用Classname.Class
即可。在你的情况下,只需使用Tag.Class
。然后使用…DoubleTag.Class
或任何其他老实说,如果你现在还不理解它,你应该回到关于继承的教程,等等。