我有两个类:JDialog 和 JFrame(见下文)。现在我希望它们获得一些额外的功能,但我希望这两个类都扩展我的代码,而无需编写两次代码。有没有办法做到这一点?
java.awt.Window » java.awt.Dialog » javax.swing.JDialog
java.awt.Window » java.awt.Frame » javax.swing.JFrame
(PS:实际上,我想“重写” 的源代码java.awt.Window
,添加额外的功能。我知道这是不可能的,但这将是一个“解决方案”,因为如果我这样做,JDialog 和 JFrame 都会扩展我的全新方法。)
示例:
假设我想添加方法moveWindowToMagicPositionOnScreen()
,将窗口移动到屏幕上用户友好的位置——我知道,这只是一个示例。我希望该方法同时适用于JDialog
和JFrame
。使用继承,我必须编写两个类,例如MagicJDialog
和MagicJFrame
,每个类都moveWindowToMagicPositionOnScreen()
以完全相同的方式实现方法。嗯,这很多余。所以我不想让代码写两次。在某种程度上,我希望一个类使用另一个类的代码。