我有几个包含静态方法的Java类。我想确保每个类都实现这些静态方法。我如何强制执行,因为Java中的接口不允许声明静态方法?
答案 0 :(得分:2)
排序答案:你不能强制执行。
静态方法不会以与实例方法相同的方式继承,因此您无法将其用于任何有意义的事情:您无法调用MySuperClass.staticMethod()
并期望某些子类可以处理电话。这意味着您必须使用MySubClass.staticMethod()
来调用它,在这种情况下,如果MySubClass
未实现staticMethod
,您将收到编译错误。
我建议你研究使用单例或工厂模式解决它并使用实例方法:
MySuperClass.getInstance(parameter).yourMethod()
答案 1 :(得分:2)
static
个方法。
但是,没有办法强制类来实现静态方法。
你唯一能做的就是让它们成为非静态的abstract
(在接口或abstract
类中)。
答案 2 :(得分:2)
如果你有调用这些方法的代码,如果它们没有实现,它就不会通过编译。如果你不这样做,你就不需要它们。