我无法理解以下泛型代码的作用。我是仿制药的新手,所以我将不胜感激!
Public abstract class AMetadata< C extends CMetadata, P extends PMetadata, R extends RMetadata> extends GEntityMetada<C>
{
// class does stuff here
}
任何人都可以解释这些类之间的关系吗?
最佳答案
这指定AMetadata
类将处理三种通用定义的类型,保证每种类型都可以扩展不同的类型(分别为CMetadata
,PMetadata
和RMetadata
)。
此外,AMetadata
类本身扩展了GEntityMetada
泛型类,其泛型参数是传递给C
的第一个泛型参数类型(CMetadata
,扩展了AMetadata
)。
要说出类如何关联,将需要比此代码段所提供的更多的代码基础知识。例如,单个类型有可能(尽管不太可能)实际上可以扩展CMetadata,PMetadata和RMetadata,因此该类型可用作所有三个类的参数。但是,此通用定义中没有任何内容表明这三个类之间必须有任何关系。
您真正可以从中获得的唯一其他信息是,扩展了CMetadata
的类型是GEntityMetada
类的有效通用参数。 GEntityMetada
是否需要其参数来扩展CMetadata
尚不清楚。