Java - 从接受泛型的类继承?

标签 java generics inheritance

<分区>

如何继承这个类?以下代码已损坏,但它显示了我正在努力实现的目标。

边界不匹配:类型 T 不是 ActivityInstrumentationTestCase2 类型的有界参数的有效替代

public class MyClass<T> extends ActivityInstrumentationTestCase2<T> {
     public MyClass (Class<T> clazz) {
          super(clazz);
     }
}

最佳答案

ActivityInstrumentationTestCase2 的类定义是什么?

ActivityInstrumentationTestCase2 很可能定义为:

class ActivityInstrumentationTestCase2<T extends SomeObject> {
 ...
}

在这种情况下,您的对象的参数需要保持在其父类(super class)的参数范围内。

例如:

public class MyObject<T extends SomeObject> extends ActivityInstrumentationTestCase2<T> {
...
}

您还可以使参数更窄。所以,如果 MySomeObject 扩展了 SomeObject 你也可以说:

public class MyObject<T extends MySomeObject> extends ActivityInstrumentationTestCase2<T> {
...
}

编辑添加: 我刚找到 this .我假设您使用的是同一个,因此需要将其定义为:

public class MyObject<T extends android.app.Activity> extends ActivityInstrumentationTestCase2<T> {
...
}

关于Java - 从接受泛型的类继承?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6462186/

相关文章:

java - 解释一下用JAVA写的这一行

Java Swing - 如何处理 ActionListener 中的泛型

c# - 从泛型类中的接口(interface)继承

c# - 获取泛型类中的接口(interface)属性值

javascript - 有趣的 JavaScript 继承模式

Java 和 UseLargePages

java - "Line of Sight"多边形上的顶点到所有其他多边形顶点

java - 在图 block map libgdx 上显示 Sprite

javascript - ExtJs继承行为

java - 具有不同主键的 Hibernate 继承