从Java中的generalgeated属性的超类调用静态成员

Ben*_*laa -1 java oop static templates

我必须承认,使用模板时Java有点混乱......

正如标题所解释的那样,我正在尝试使用在某些泛化属性的超类上编码的静态成员.我怎样才能做到这一点?

例如:

class A {
    public static void someAction();
}

class B<T extends A>{ (...) }
Run Code Online (Sandbox Code Playgroud)

¿如何someAction()在B类中访问A的方法?

Mik*_*uel 5

如何someAction()从B类访问A的方法?

打电话吧

A.someAction()
Run Code Online (Sandbox Code Playgroud)

这是一个静态方法,所以B的类型参数扩展A的事实没有任何效果.


如果someAction应该是通用的并且您希望将B的<T>参数与A一起使用,则someAction使用其自己的类型参数声明:

public static <T> void someAction(.../* use T here maybe */) { ... }
Run Code Online (Sandbox Code Playgroud)

然后B你可以做

A.<T>someAction(...)
Run Code Online (Sandbox Code Playgroud)

这样<T>以前someAction就像<T extends A>身体里的可见一样B.