实现抽象的通用方法

peddn

我在抽象类中有一个抽象的泛型方法:

/**
 * @param <Value>
 */
public abstract class TestAbstract<Value> {

    public abstract <Value> void test(Value value);

}    

现在,我从此类扩展并实现抽象的通用方法-这是我的尝试,但这显然是错误的。

public class Impl extends TestAbstract<Integer> {

    @Override
    public <Integer> void test(Integer value) {

        // value is instanceOf as java.lang.Object and not java.lang.Integer !

    }

}

内部test() value被视为Object而不是被视为Integer...

如何覆盖此方法,以便强制使用“整数”类?

谢谢!

马可13

您将用具体类型替换type参数。您可能打算这样做:

public abstract class TestAbstract<V> {
    public abstract void test(V value);
}    

(请注意,按照惯例,如果可能,类型参数应为单个大写字母)

现在,当您创建此类的具体实现时,可以将具体类型替换为该类型参数:

public class Impl extends TestAbstract<Integer> {

    @Override
    public void test(Integer value) {
        // Here, "value" is an Integer
    }
}

在这种情况下,方法本身不需要类型参数,因为它是在周围的上下文(即在类中)中定义的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

实现抽象的通用方法

来自分类Dev

抽象和通用方法

来自分类Dev

抽象成通用方法

来自分类Dev

部分实现抽象方法?

来自分类Dev

使用通用转换方法在抽象类的不同实现之间进行转换

来自分类Dev

抽象类的抽象方法的部分实现

来自分类Dev

无法实现继承的抽象方法

来自分类Dev

什么也不做抽象方法的实现

来自分类Dev

实现通用的ToConcurrentDictionary扩展方法

来自分类Dev

Java通用接口方法实现

来自分类Dev

抽象类实现通用接口类型

来自分类Dev

Java抽象类通用方法参数

来自分类Dev

Java抽象类通用方法参数

来自分类Dev

在Scala中使用抽象成员类实现抽象的通用Java类

来自分类Dev

类必须声明为抽象或实现抽象方法

来自分类Dev

类必须声明为抽象还是必须实现抽象方法?

来自分类Dev

类必须声明为抽象或实现抽象方法

来自分类Dev

类必须声明为抽象或实现抽象方法错误

来自分类Dev

类必须声明为抽象或实现抽象方法:Intellij错误?

来自分类Dev

RxAndroid:类必须声明为抽象或实现抽象方法错误

来自分类Dev

类必须声明为抽象或实现抽象方法:Intellij错误?

来自分类Dev

多态与抽象:多态是实现抽象的方法之一吗?

来自分类Dev

从方法自己的实现中调用抽象函数

来自分类Dev

Guice:注入用于实现抽象方法的参数

来自分类Dev

防止抽象实现覆盖某些方法

来自分类Dev

为什么要实现继承的抽象方法?

来自分类Dev

Android RecyclerView:未实现抽象方法

来自分类Dev

解析匿名类未实现抽象方法

来自分类Dev

Android必须实现继承的抽象方法