是否可以扩展已在Android中扩展Intent Service的服务?

时间:2013-08-08 13:42:27

标签: android service extend

我正在开发一个应用程序,其中我使用了几种不同的服务。这些服务通常包含相同的方法。在某些情况下,我可以将这些方法放在另一个类中,但在其他情况下,它们依赖于只能在扩展活动或服务的类中运行的方法。

基本上,我希望通过创建包含其中几种方法的基本服务,然后在所有其他服务中扩展它来最小化代码量(以及工作和可能的复杂性)。

我在网上找不到太多信息。这可能吗?如果是这样,我该怎么做呢?我有一个破解,但它引发了一个没有发现异常的活动。

谢谢!

2 个答案:

答案 0 :(得分:1)

在抽象类上查看this example。虽然Effective Java根据您所描述的内容优先于抽象类的接口,但听起来这是抽象类有意义的情况。

当类成员将实现一组共同的功能但实际实现不同时,抽象类很有用。经典的例子是GraphicObject - 所有形状都需要绘制方法,但是方形绘制自身的方式与圆形不同。

基本上,这个想法是建立一个由所有方法组成的框架,这些方法由扩展抽象类的服务共享。然后,您可以在扩展抽象类的每个类中控制这些方法的实现。您还可以向该类实现添加特定服务所需的任何其他方法。

答案 1 :(得分:0)

只要您的新班级只从一个班级继承。单inheritance是Java语言限制。您的类层次结构可以具有任意深度,但每个类只能从一个父级继承。