Java-接口使用接口

时间:2013-07-25 13:29:26

标签: java interface

我在学习代码。我找到了这两个班。我不明白他们是如何相关的。 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();
}

2 个答案:

答案 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)

接口Piecegeneric,其单一类型参数T必须实现PieceType,如T extends PieceType所示。您可能有必要进一步阅读仿制药;相关课程应该是一个良好的开端。