我对编程很新,对Java来说也是新手。我在今年秋天开始开设计算机科学课程之前就开始自学,我对两种不同作者的语法有好奇心。 在一本书中,通常通过使类成为JFrame
的扩展来建立JFramepublic class MyClass extends JFrame {
等
然而,另一位作者以及该网站上的问题通常会在课程内部建立一个框架:
public class MyClass {
JFrame frame = new JFrame();
首先,一个优于另一个的优点是什么? 在我看来,我几乎不是专家,将类作为JFrame的扩展可以更容易地设置框架的参数,也可以向其添加组件。
IE的扩展格式,你只需说
add(component);
但是,在其他格式中,必须键入:
frame.getContentPane().add(component);
这似乎更乏味。
有人可以简洁地解释这背后的原因,或者只是一个偏好问题。我已经调查了这个并且无法得到直接的答案。
答案 0 :(得分:5)
有许多(包括我)更喜欢后者的哲学和实践原因:
getX()
和getY()
方法,以了解我的意思!答案 1 :(得分:3)
传统上你不是在创建一种特殊类型的框架,所以你不应该扩展JFrame。
您正在创建一个JFrame并将内容放入其中,因此后一种方法更受欢迎。
即。从面向对象的角度来看,使用JFrame更清晰,而不是扩展JFrame。