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>

次に、コードでTType クラスを参照するために使用する必要があります。たとえば、元のforループを変更する必要があります

for (AbstractMember member : memberList)

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