Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 抽象类的具体子类作为原始类中的参数,没有抽象方法实现_Java_Parameters_Abstract Class - Fatal编程技术网

Java 抽象类的具体子类作为原始类中的参数,没有抽象方法实现

Java 抽象类的具体子类作为原始类中的参数,没有抽象方法实现,java,parameters,abstract-class,Java,Parameters,Abstract Class,我正在使用boofCV,在某个时候我发现一个类被定义为: public class WrapDetectDescribeSurf <T extends ImageSingleBand, II extends ImageSingleBand> implements DetectDescribePoint<T,SurfFeature> {...} 据我所知,要创建抽象类的具体子类,应该实现基类的抽象方法。我在上面的代码中找不到这些方法的任何实现。我无

我正在使用boofCV,在某个时候我发现一个类被定义为:

public class WrapDetectDescribeSurf
        <T extends ImageSingleBand, II extends ImageSingleBand>
    implements DetectDescribePoint<T,SurfFeature>
{...}
据我所知,要创建抽象类的具体子类,应该实现基类的抽象方法。我在上面的代码中找不到这些方法的任何实现。我无法理解这一实现可能被放在哪里。我的意思是
T
II
都是在原始类
wrapdetectDescriptibesurf
的参数化中定义的


那么这里发生了什么?您不需要实现抽象方法吗?我在这里问了一个类似的问题:但我没有完全解决我的无知。

ImageSingleBand的实现必须实现抽象方法

泛型声明T和II只是声明,它们告诉编译器T和II是扩展ImageSingleBand的类。换句话说:T和II将是ImageSingleBand的子类

因此,“WrapDetectDescripteBurf”的实例化可以如下所示:

new WrapDetectDescribeSurf<ImageInteger, ImageFloat>();
新WrapDetectDescripteSurf();
ImageInteger和ImageFloat是ImageSingleBand的具体子类

更具体地说:

ImageSingleBand()的子类可以是

  • ImageFloat()
  • ImageInteger(../struct/image/ImageInteger.html)
  • ImageSInt64(../struct/image/ImageSInt64.html)

这些类实现了抽象方法。

是的,但实现在哪里?你没有具体说明这个问题的答案谢谢,我想我现在明白了。
new WrapDetectDescribeSurf<ImageInteger, ImageFloat>();