我无法理解以下泛型代码的作用。我是仿制药的新手,所以我将不胜感激!

Public abstract class AMetadata< C extends CMetadata, P extends PMetadata, R extends   RMetadata> extends GEntityMetada<C>
{
 // class does stuff here
}


任何人都可以解释这些类之间的关系吗?

最佳答案

这指定AMetadata类将处理三种通用定义的类型,保证每种类型都可以扩展不同的类型(分别为CMetadataPMetadataRMetadata)。

此外,AMetadata类本身扩展了GEntityMetada泛型类,其泛型参数是传递给C的第一个泛型参数类型(CMetadata,扩展了AMetadata)。

要说出类如何关联,将需要比此代码段所提供的更多的代码基础知识。例如,单个类型有可能(尽管不太可能)实际上可以扩展CMetadata,PMetadata和RMetadata,因此该类型可用作所有三个类的参数。但是,此通用定义中没有任何内容表明这三个类之间必须有任何关系。

您真正可以从中获得的唯一其他信息是,扩展了CMetadata的类型是GEntityMetada类的有效通用参数。 GEntityMetada是否需要其参数来扩展CMetadata尚不清楚。

08-07 07:35