0
public class Team<AbstractMember> {

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

我想检查成员的要点并返回它们,但是 AbstractMember 是泛型类的类型这一事实禁用了该方法member.getPoints()。日食说The method getPoints() is undefined for the type AbstractMember

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

    public int getPoints() {
        return points;
    }
}

如何使用泛型类的定义类型的方法?

4

1 回答 1

6

更改此声明

public class Team<AbstractMember>

public class Team<T extends AbstractMember>

然后,在您的代码中,您应该使用T来引用类 Type。例如,您将不得不更改for您的循环

for (AbstractMember member : memberList)

for (T member : memberList) {
于 2013-06-09T17:47:40.230 回答