确保实现静态方法

时间:2014-12-04 13:41:19

标签: java interface static-methods

我有几个包含静态方法的Java类。我想确保每个类都实现这些静态方法。我如何强制执行,因为Java中的接口不允许声明静态方法?

3 个答案:

答案 0 :(得分:2)

排序答案:你不能强制执行。

静态方法不会以与实例方法相同的方式继承,因此您无法将其用于任何有意义的事情:您无法调用MySuperClass.staticMethod()并期望某些子类可以处理电话。这意味着您必须使用MySubClass.staticMethod()来调用它,在这种情况下,如果MySubClass未实现staticMethod,您将收到编译错误。

我建议你研究使用单例或工厂模式解决它并使用实例方法:

MySuperClass.getInstance(parameter).yourMethod()

答案 1 :(得分:2)

Java8中的接口允许使用

static个方法。

但是,没有办法强制类来实现静态方法。

你唯一能做的就是让它们成为非静态的abstract(在接口或abstract类中)。

答案 2 :(得分:2)

如果你有调用这些方法的代码,如果它们没有实现,它就不会通过编译。如果你不这样做,你就不需要它们。