簡體   English   中英

如何使用泛型類的已定義類型的方法?

[英]How can I use a method of the defined type of the generic class?

public class Team<AbstractMember> {

    public int getPoints() {
        int points = 0;
        for (AbstractMember member : memberList) {
            points += member.**getPoints()**;
        }
        return points;
    }
}

我想遍歷成員的要點並返回它們,但是事實是AbstractMember是泛型類的類型,因此禁用了member.getPoints()方法。 Eclipse表示The method getPoints() is undefined for the type AbstractMember

public abstract class AbstractMember{
    private String name;
    private int points;

    public int getPoints() {
        return points;
    }
}

如何使用泛型類的已定義類型的方法?

更改此聲明

public class Team<AbstractMember>

public class Team<T extends AbstractMember>

然后,在代碼中應使用T來引用類Type。 例如,您將不得不更改for循環

for (AbstractMember member : memberList)

for (T member : memberList) {

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM