为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

哆啦的时光机 2022-05-25 19:15:41
public class HelloWorld extends JFramepublic 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);}}
查看完整描述

2 回答

?
慕的地8271018

TA贡献1796条经验 获得超4个赞

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

查看完整回答
反对 回复 2022-05-30
?
千万里不及你

TA贡献1784条经验 获得超9个赞

super();+ this.setTitle("HelloWorld"); = super("HelloWorld");
这下明白了吧?就是调用父类的构造方法,frame是在awt包里的,JFrame是在swing包里的,设计不一样,

查看完整回答
反对 回复 2022-05-30
  • 2 回答
  • 0 关注
  • 118 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信