我正在开发一个应用程序,其中我使用了几种不同的服务。这些服务通常包含相同的方法。在某些情况下,我可以将这些方法放在另一个类中,但在其他情况下,它们依赖于只能在扩展活动或服务的类中运行的方法。
基本上,我希望通过创建包含其中几种方法的基本服务,然后在所有其他服务中扩展它来最小化代码量(以及工作和可能的复杂性)。
我在网上找不到太多信息。这可能吗?如果是这样,我该怎么做呢?我有一个破解,但它引发了一个没有发现异常的活动。
谢谢!
答案 0 :(得分:1)
在抽象类上查看this example。虽然Effective Java根据您所描述的内容优先于抽象类的接口,但听起来这是抽象类有意义的情况。
当类成员将实现一组共同的功能但实际实现不同时,抽象类很有用。经典的例子是GraphicObject - 所有形状都需要绘制方法,但是方形绘制自身的方式与圆形不同。
基本上,这个想法是建立一个由所有方法组成的框架,这些方法由扩展抽象类的服务共享。然后,您可以在扩展抽象类的每个类中控制这些方法的实现。您还可以向该类实现添加特定服务所需的任何其他方法。
答案 1 :(得分:0)
只要您的新班级只从一个班级继承。单inheritance是Java语言限制。您的类层次结构可以具有任意深度,但每个类只能从一个父级继承。