I'm studying code. I 've found these two classes. I don't understand how they are related. What does the Expression "T extends PieceType" mean, what does the T stand for?
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();
}