许多.java文件只有一个公共接口和一个函数

时间:2015-12-08 22:08:17

标签: java interface packaging organization

我意识到每个公共接口都必须放在一个单独的文件中。

也许我做错了什么,但这迫使我创建了许多内部几乎没有内容的虚拟文件。

当有人浏览我的包文件夹时,要知道发生了什么,每一秒.java文件都不过是单行公共接口......他会不高兴。

换句话说,对我而言,实际上有一些内容的类似乎会在公共接口虚拟文件的海洋中丢失。

是否有一些策略可以解决这种不便?

编辑:情况描述(和示例):

我正在制作一些游戏。我有许多派生自父GameObject的类,它实现了一些行为,但不是简单的层次结构。因为java不允许从多个父级继承,所以我必须通过接口来实现。大多数类实现多个接口,但只是所有接口的子集。接口不遵循继承结构。

示例:

class TankMilitaryUnit的子(实现接口Fighting),但它也实现了接口VehicleDrawableIndustrialProductTradableSaveFileItemStringIOTableIOMouseInteractingKeyboardInteracting等等。

另一方面,

Rifleman也是MilitaryUnit的孩子,但未实现IndustrialProductTradable

ArmoredTrain(也是MilitaryUnit的孩子)确实实施了Train界面,而TankRifleman却没有。

Commodity等其他类会实现IndustrialProductTradableStringIOTableIO但不会VehicleDrawableMouseInteractingKeyboardInteracting

所以这种情况可以通过某些表来描述(它指定某个类是否实现某些接口)看起来像这样:

Interface  X Y Z W    
ClassA     1 1 0 1
ClassB     0 1 1 1
ClassC     0 1 0 1
ClassD     1 0 1 0

1 个答案:

答案 0 :(得分:0)

如果您创建的接口只能在一个类中实现,那么接口就没有用处。接口用于为许多类创建必需的函数。当有问题的类不是您想要它的实例(这将是一个子类)时,通常会使用实现,但必须包含您希望通过实现实现的某些值。