Jer*_*son 2 java inheritance swing composition jframe
我对编程很新,对Java来说也是新手.我在今年秋天开始开设计算机科学课程之前就开始自学,我对两种不同作者的语法有好奇心.在一本书中,通常通过使类成为JFrame的扩展来建立JFrame
public class MyClass extends JFrame {
Run Code Online (Sandbox Code Playgroud)
等等
但是,另一位作者以及本网站上的问题通常会在课程内部建立一个框架:
public class MyClass {
JFrame frame = new JFrame();
Run Code Online (Sandbox Code Playgroud)
首先,一个优于另一个的优势是什么?在我看来,我并不是一个专家,将类作为JFrame的扩展可以更容易地设置框架的参数并且还可以向其添加组件.
你只想说扩展格式的IE
add(component);
Run Code Online (Sandbox Code Playgroud)
但是,在其他格式中,必须键入:
frame.getContentPane().add(component);
Run Code Online (Sandbox Code Playgroud)
这似乎更乏味.
有人可以简洁地解释这背后的原因,或者只是一个偏好的问题.我已经调查了这个并且无法得到直接的答案.
哲学和实践的原因很多(包括我)更喜欢后者:
getX()和getY()方法来看看我的意思!