Java:创建 GUI。导入或扩展 JFrame?

标签 java inheritance import jframe extend

我自己做了一个 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/

相关文章:

Java继承...我认为。也许不会

c++ - 模板继承和抽象类

css - .less 文件中的 Angular 4 导入不会在更改时更新

java - 在 Java 中使用 Swing 显示图像

java - 在 Java 中将 double 格式化为两位小数会产生逗号而不是点

java - 使用 Super CSV 自定义 bean 实例化

c# - 从基本类型列表中返回正确的后代类型

java - android中使用java的乘法表

javascript - 从另一个模块导出模块类

scala - 无法解析具有此类签名的引用 StructField