继承静态方法和字段

时间:2011-08-19 01:59:36

标签: android interface static abstract android-service

我正在编写一个包含多个(确切地说是4个)服务的Android应用程序。

每个服务都有一个标记为“running”的静态布尔字段。创建服务时设置为true,销毁时设置为false。

每个服务还有一个标记为'isRunning()'的静态方法,只返回'running'

目前,我在所有4项服务中都有相同的代码来提供此功能。理想情况下,代码应位于一个位置。怎么能实现这一目标?一个界面?一个抽象类?既不?

(我认为这个领域和方法在答案上是静态的限制这一事实)

1 个答案:

答案 0 :(得分:1)

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