相关疑难解决方法(0)

循环泛型(试2)

第二次尝试这个问题(初始代码不足以突出问题)

这是不编译的代码:

interface Player<R, G extends Game>
{
    R takeTurn(G game);
}

interface Game<P extends Player>
{
    void play(P player);
}

abstract class AbstractGame<R, P extends Player>
    implements Game<P>
{
    public final void play(final P player)
    {
        final R value;

        value = player.takeTurn(this);
        turnTaken(value);
    }

    protected abstract void turnTaken(R value);
}

public class XPlayer
    implements Player<Integer, XGame>
{
    @Override
    public Integer takeTurn(final XGame game)
    {
        return (42);
    }
}

public class XGame<P extends Player<Integer, XGame>>
    extends AbstractGame<Integer, XPlayer> …
Run Code Online (Sandbox Code Playgroud)

java generics

4
推荐指数
1
解决办法
199
查看次数

标签 统计

generics ×1

java ×1