我应该定义一个空类,以便我可以将它用作泛型

时间:2015-06-18 15:36:52

标签: java generics subclass

我有两个班级:

  1. GroupRunner
  2. GroupSwimmer
  3. 他们都扩展了另一个类:AthleteResult

    我想定义另一个类GroupResult,它在GroupRunnerGroupSwimmer上执行方法。

    如果我按如下方式定义GroupResult

    public class GroupResult<T extends AthleteResult>
    

    那么这意味着GroupResult也可以对AthleteResult执行操作。我不希望这样,我希望它只对GroupRunnerGroupSwimmer(即AthleteResult的子类)执行操作。 我可以在AthleteResult和两个组类之间创建另一个类,这两个类将扩展,但由于这两个组类没有任何共享方法,因此该类将为空。例如:

    public class Group extends AthleteResult
    {}
    

    这有必要吗?或者是否有其他方法可以将课程GroupResult限制为仅接受GroupSwimmerGroupRunner

1 个答案:

答案 0 :(得分:3)

界面可能是个更好的主意。然后公开你想要的方法。

public interface Group


public class GroupResult<T extends Group>