从类型变量调用静态方法

时间:2015-05-13 12:30:44

标签: java generics

我上课了: 公共类AbstractHandler {     public static void handle(){         抛出新的UnsupportedOperationException("未实现");     } } 这将有一些数字子类。 我还有以下类将使用该类: 公共类Consumer< T extends AbstractHandler> {     public static void handle(){         //我需要调用方法         //T.handle()不知何故         //那可能吗?     } }

3 个答案:

答案 0 :(得分:5)

由于该方法为static,因此无需知道T到底是什么。

只是做:

AbstractHandler.handle();

答案 1 :(得分:2)

不继承静态方法。

所以你有AbstractHandler.handle,这并不意味着每个T也应该有一个。{/ p>

如果他们这样做,它也不是同一种方法 - 之间没有连接,即使它们具有相同的名称。

答案 2 :(得分:1)

由于您计划调用的方法是静态的,只需调用:

AbstractHandler.handle();

...在您的Consumer#handle方法正文中。

我怀疑这实际上是你想要做的。

您可能希望将handle的签名更改为实例(即不是static),并在T.handle()方法正文中调用Consumer#handle