我有两个班级:
GroupRunner
GroupSwimmer
他们都扩展了另一个类:AthleteResult
。
我想定义另一个类GroupResult
,它在GroupRunner
和GroupSwimmer
上执行方法。
如果我按如下方式定义GroupResult
:
public class GroupResult<T extends AthleteResult>
那么这意味着GroupResult
也可以对AthleteResult
执行操作。我不希望这样,我希望它只对GroupRunner
或GroupSwimmer
(即AthleteResult
的子类)执行操作。
我可以在AthleteResult
和两个组类之间创建另一个类,这两个类将扩展,但由于这两个组类没有任何共享方法,因此该类将为空。例如:
public class Group extends AthleteResult
{}
这有必要吗?或者是否有其他方法可以将课程GroupResult
限制为仅接受GroupSwimmer
或GroupRunner
?
答案 0 :(得分:3)
界面可能是个更好的主意。然后公开你想要的方法。
public interface Group
public class GroupResult<T extends Group>