Topic: 求助:关于构造函数的问题

  Print this page

1.求助:关于构造函数的问题 Copy to clipboard
Posted by: qufei0325
Posted on: 2007-02-14 09:19

下面程序编译时总提示super语句应为构造函数第一条语句,可这个程序的super语句不就是构造函数的第一条语句么?哪位朋友给解释一下,谢了!
import java.awt.*;
import java.awt.event.*;

class MyFrame extends Frame implements ActionListener
{ GridLayout grid;
TextField text;
Button button;
Toolkit tool;
Dimension dim;
void MyFrame()
{ super("试验");
setBounds(0,0,341,154);
setVisible(true);
grid=new GridLayout(2,1);
setLayout(grid);
text=new TextField(28);
button=new Button("变大");
add(text);
add(button);
button.addActionListener(this);
tool=getToolkit();
}
public void actionPerformed(ActionEvent e)
{ dim=tool.getScreenSize();
text.setText("宽是"+dim.width+",高是"+dim.height);
setBounds(0,0,dim.width,dim.height);
validate();
}
}

public class Try
{ public static void main(String args[])
{ MyFrame my=new MyFrame();
}
}

2.Re:求助:关于构造函数的问题 [Re: qufei0325] Copy to clipboard
Posted by: 嚼花仔
Posted on: 2007-02-15 09:45

void MyFrame()
{ super("试验");
setBounds(0,0,341,154);
setVisible(true);
grid=new GridLayout(2,1);
setLayout(grid);
text=new TextField(28);
button=new Button("变大");
add(text);
add(button);
button.addActionListener(this);
tool=getToolkit();
}你的这个是个方法,根本不是构造函数,构造函数是不会有返回类型的,包括void,你可以把那个void改为public试试

3.Re:求助:关于构造函数的问题 [Re: qufei0325] Copy to clipboard
Posted by: liyan811101
Posted on: 2007-04-29 09:24

对啊,super()是调用父类的构造函数,怎么能写到一个方法里呢。

4.Re:求助:关于构造函数的问题 [Re: qufei0325] Copy to clipboard
Posted by: liyan811101
Posted on: 2007-04-29 09:26

还有,你的button和其他的组件都没有new出来吧,你现在的程序可以运行吗。

5.Re:求助:关于构造函数的问题 [Re: qufei0325] Copy to clipboard
Posted by: clj_0118
Posted on: 2007-07-19 12:07

void MyFrame(){}
它不是构造函数,构造函数不能有任何返回值,包括void


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923