继承静态方法和字段



我正在编写一个android应用程序,其中包含几个(确切地说是4个)服务。

每个服务都有一个静态布尔字段,标签为'running'。当服务被创建时,它被设置为true,当服务被销毁时,它被设置为false。

每个服务也有一个静态方法标记为'isRunning()',简单地返回'running'

目前,我在所有4个服务中都有相同的代码来提供此功能。理想情况下,代码应该放在一个地方。如何才能做到这一点?一个接口?抽象类?既不?

(我认为这个字段和方法是静态的,对答案有限制)

如果方法必须是静态的并且在所涉及的类上可用,那么它们必须属于单个类;没有别的办法。但是也许你可以有一个Class -> boolean的静态地图来跟踪在某个中心位置运行的服务;当服务启动时,它通过为此调用(单个)静态方法来在该映射中设置适当的值。然后,当需要知道ServiceClass是否正在运行时,它们使用ServiceClass.class作为键查询该映射。听起来好吗?

相关内容

最新更新