我在学习代码。我找到了这两个班。我不明白他们是如何相关的。 Expression“T extends PieceType”是什么意思,T代表什么?
piece.java:
public interface Piece<T extends PieceType> {
/**
* Returns the color.
* @return the color
*/
PieceColor getColor();
/**
* Returns the type.
* @return the type
*/
T getType();
}
pieceType.java:
public interface PieceType {
/**
* Returns the type's base rating.
* @return the base rating within range [0, 1000]
*/
double getRating();
}
答案 0 :(得分:4)
如上所述,这意味着传递给Piece的类型T必须扩展PieceType。
这里我们有一个扩展PieceType的接口:
public interface NewPiece extends PieceType {
...
}
然后,您将通过执行以下操作实例化Piece对象:
Piece<NewPiece> aPiece = new SomeImplementationOfPiece<NewPiece>();
因为NewPiece扩展了你定义中给出的PieceType:
public interface Piece<T extends PieceType> { ... }
答案 1 :(得分:3)
接口Piece
为generic,其单一类型参数T
必须实现PieceType
,如T extends PieceType
所示。您可能有必要进一步阅读仿制药;相关课程应该是一个良好的开端。