为什么下面这个就不用调用super();?

public class HelloWorld extends JFrame
public HelloWorld()
{
super();//调用本类的父类的构造函数------请告诉我父类的构造函数是什么样的,这个我一直不明白。
如果写成super("xxx");的话,“xxx”是标题吗?

this.setSize(300, 200);
this.getContentPane().setLayout(null);
this.add(getJLabel(), null);
this.add(getJTextField(), null);
this.add(getJButton(), null);//请问这三个组件是怎么排列的
this.setTitle("HelloWorld");
}

private javax.swing.JLabel getJLabel() {
if(jLabel == null) { //请问这个null是什么意思?

jLabel = new javax.swing.JLabel(); /*这里这样写对吗?为什么不写成
javax.swing.JLabel jLabel = new javax.swing.JLabel();*/

jLabel.setBounds(34, 49, 53, 18); //这是它的左上角位置和宽与高吧?
jLabel.setText("Name:");
}
return jLabel;
}

private javax.swing.JTextField getJTextField() {
if(jTextField == null) {
jTextField = new javax.swing.JTextField();
jTextField.setBounds(96, 49, 160, 20);
}
return jTextField;
}

private javax.swing.JButton getJButton() {
if(jButton == null) {
jButton = new javax.swing.JButton();
jButton.setBounds(103, 110, 71, 27);
jButton.setText("OK");
}
return jButton;
}

public static void main(String[] args)
{
HelloWorld w = new HelloWorld();
w.setVisible(true);
}
万分感谢!!!
为什么要调用super();
调用它的结果是什么?

为什么下面这个就不用调用super();

class test extends Frame
{
public test
{
setSize(400,400);
setBackground(Color.cyan);
setVisible(true);
}
}

哆啦的时光机
浏览 119回答 2
2回答

慕的地8271018

如果写成super("xxx");的话,“xxx”是标题吗? 是标题.你继承了JFrame, super(); 调用了JFrame的构造方法.不调用也可以啊 设置标题可以用 setTitle("XXX");

千万里不及你

super();+ this.setTitle("HelloWorld"); = super("HelloWorld");这下明白了吧?就是调用父类的构造方法,frame是在awt包里的,JFrame是在swing包里的,设计不一样,
打开App,查看更多内容
随时随地看视频慕课网APP