【发布时间】:2012-05-17 22:47:10
【问题描述】:
我真正需要的是能够在接口中声明常规变量并在两个类中实现该接口,我不必在每个类中重新声明它们(即 class.data.variables 而不是 class .变量)。有什么方法可以让我以不同的方式实现相同的目标?
提供更多细节。本质上,我创建了一个小型绘图程序,将 JLabels 放在 JScrollPane 上的 JPanel 上。因为我对这些 JLabel 有一个特定的设计(即它们不只是用于绘制它们代表此应用程序的航空公司对象),所以我有一个扩展 JLabel 并将我的应用程序特定变量添加到它的类。最终,我用这些变量读写了一个 XML 文件,这样他们就可以加载和保存他们的设计。由于我不能将这个扩展类用于我的 XML 定义,因为它对父类尖叫,即使我告诉它有 NONE 作为访问器(我读到有一个错误),我必须创建一个相同的类并将值复制回来来回保存和加载。问题不大,除非我将变量添加到 JLabel 扩展类并忘记将其添加到 XML 模拟类和后续复制例程中。
所以,如果我可以创建一个包含额外数据声明的类(比如 CellDataRecord.java)并让该类在两个地方(JLabel 扩展和 XML 数据)都使用,而不必拥有一些东西,那就太好了比如 XML.data.CellDataRecordXXX。
【问题讨论】:
-
您所描述的将被称为 mix-in——而 Java 没有这些。您必须使用您已经熟悉的一种或另一种模式。
-
和我的问题一样。