Java:由于继承,多次实现相同的接口。可以吗?

时间:2018-02-06 14:14:05

标签: java android oop inheritance interface

问题主要与继承和扩展如何工作有关。

我目前有以下内容:

public class Client extends BaseClient { ... }

public class BaseClient extends MinimalisticClient { ... }

它们之间的主要区别在于它们所拥有的参数(数据)的数量(从数据库中获取)。

我想要做的是为每个只包含getter的个人创建一个界面。

所以,它会是这样的:

public interface IMinimalisticClient { getters }
public class MinimalisticClient implements IMinimalisticClient { ... }

public interface IBaseClient extends IMinimalisticClient { the extra getters }
public class BaseClient extends MinimalisticClient implements IBaseClient { ... }

public interface IClient extends IBaseClient { the extra extra getters }
public class Client extends BaseClient implements IClient { ... }

以BaseClient为例。当我扩展MinimalisticClient时,我默认将IMinimalisticClient实现为BaseClient。但是,我还实现了IBaseClient,它也扩展了IMinimalisticClient。这可以接受吗?我做的事情完全是愚蠢的吗?

正如提及的那样,我正在按照我提供的方式进行,因为该软件将在廉价的Android设备上运行,我必须尽可能地管理内存使用。

2 个答案:

答案 0 :(得分:1)

这很好用,但你应该问问自己为什么需要接口。如果您没有多个界面实现,那么您首先要了解它们的原因似乎并不重要。

答案 1 :(得分:0)

是的,这是可以接受的。由于接口不是父类(并且不能在层次结构中向上走),因此在实现中使用相同的接口多次是完全可以接受的