我自己做了一个 GUI,它扩展了 JFrame。我看到了高级程序员导入JFrame的程序代码。我可能知道导入和扩展之间的区别。但哪种实现方式有什么好处呢?
最佳答案
通过“导入”,我认为您的意思是您的程序员 friend 的类使用 JFrame,而您的类是 JFrame。我不认为扩展 JFrame 是“错误的”,但我的首选方法是创建和配置 JFrame 而不是扩展它。如果您确实需要访问某些 protected 方法,那么您可能会扩展它,但我确信,在大多数情况下,简单地创建和配置标准 JFrame 是正确的 - 我从未发现需要扩展它。
换句话说,通过继承 JFrame 而无需这样做,只会使系统变得复杂。在选择继承与任何其他类的聚合时,您也会遇到同样的争论。要找出正确的方法,您需要问问自己,您正在编写的类是否真的是一个JFrame,它是一个窗口小部件。我怀疑在大多数情况下,您正在编写一个需要 JFrame 的 Swing 应用程序,但它本身并不是 JFrame - 它是一个具有其他用途的 Swing 应用程序。
关于Java:创建 GUI。导入或扩展 JFrame?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6487068/