【问题标题】:Java extend generic classJava扩展泛型类
【发布时间】:2013-05-23 07:22:51
【问题描述】:

我有一个通用类:

public class RangeSeekBar<T extends Number> extends ImageView {
    public RangeSeekBar(T absoluteMinValue, T absoluteMaxValue, Context context) throws IllegalArgumentException {

我正在尝试扩展:

class MinMax extends RangeSeekBar<Integer> {
    MinMax(Integer absoluteMinValue, Integer absoluteMaxValue, Context context) {
        super.RangeSeekBar( absoluteMinValue, absoluteMaxValue, context )
    }

但 Eclipse 说(在 super.RangeSeekBar 构造函数调用上): RangeSeekBar 类型的方法 RangeSeekBar(Integer, Integer, Context) 未定义

应该怎么写?

【问题讨论】:

  • 我认为你不能调用super.RangeSeekBar,因为它是一个没有任何类型的泛型类。您在创建子类时将其定义为类型。为什么要使用super
  • super.RangeSeekBar 不是有效的构造函数调用,它应该是 super
  • 不 super() 它自己调用 RangeSeekBar 上的构造函数
  • @DevZer0 它调用超类的构造函数

标签: java generics inheritance


【解决方案1】:

您使用错误的语法调用超类的构造函数。你应该说

super( absoluteMinValue, absoluteMaxValue, context )

【讨论】:

  • 也很好解释super.RangeSeekBar会尝试在超类中寻找方法RangeSeekBar
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-18
  • 1970-01-01
相关资源
最近更新 更多