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

标签 java generics subclass

我有两门课:

  1. GroupRunner
  2. 团体游泳者

它们都扩展了另一个类:AthleteResult

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

如果我定义GroupResult如下:

public class GroupResult<T extends AthleteResult>

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

public class Group extends AthleteResult
{}

这个有必要吗?或者是否有另一种方法来限制类 GroupResult 只接受 GroupSwimmerGroupRunner

最佳答案

接口(interface)可能是一个更好的主意。然后公开你想要的方法。

public interface Group


public class GroupResult<T extends Group>

关于java - 我应该定义一个空类以便我可以将它用作泛型吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30919836/

相关文章:

java - 如何从我的 Java 应用程序运行 Java 应用程序?

java - java中扩展多个类的泛型

Java 递归泛型和通配符

java - 如何使java列表协变

java - clojure 中的子类

Java:将子类类型作为 Main() 的参数传递

java对象引用

java - Android onConfigurationChanged 不起作用

java - 替换没有内置函数 Java 的函数

java - 获取继承泛型方法的返回类型