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