Java:创建GUI。导入或扩展JFrame?
我自己做了一个GUI,它扩展了JFrame。我看到一个高级程序员的程序代码,他导入了JFrame。我可能知道导入和扩展之间的区别。但是哪种类型的实现有什么好处呢?通过“导入”,我想您的意思是,您的程序员朋友的类使用了一个JFrame,而您的类是一个JFrame。我不认为扩展JFrame是“错误的”,但我更喜欢的方法是创建和配置JFrame,而不是扩展它。如果确实有一些受保护的方法需要访问,那么您可以对其进行扩展,但我确信,在大多数情况下,简单地创建和配置一个标准JFrame是正确的—我从未发现需要扩展它Java:创建GUI。导入或扩展JFrame?,java,inheritance,import,jframe,extend,Java,Inheritance,Import,Jframe,Extend,我自己做了一个GUI,它扩展了JFrame。我看到一个高级程序员的程序代码,他导入了JFrame。我可能知道导入和扩展之间的区别。但是哪种类型的实现有什么好处呢?通过“导入”,我想您的意思是,您的程序员朋友的类使用了一个JFrame,而您的类是一个JFrame。我不认为扩展JFrame是“错误的”,但我更喜欢的方法是创建和配置JFrame,而不是扩展它。如果确实有一些受保护的方法需要访问,那么您可以对其进行扩展,但我确信,在大多数情况下,简单地创建和配置一个标准JFrame是正确的—我从未发现需
换句话说,通过继承JFrame而不需要这样做,只会使系统复杂化。这与选择继承而不是与任何其他类聚合时的参数相同。为了找出正确的方法,您需要问问自己,您正在编写的类是否真的是一个窗口小部件JFrame。我怀疑在大多数情况下,您编写的Swing应用程序需要JFrame,但它本身不是JFrame——它是一个具有其他用途的Swing应用程序。一般来说,您不应该扩展JFrame。在网上搜索“组合与继承”来讨论这个话题。你是说谁使用JFrame作为成员。无论您想如何使用JFrame,都必须导入它。