做一个计算器的练习写下如下代码,eclipse在添加MenuBar到最后每行都提示错误,都是这类的错误
Multiple ers at this line
- Syntax error on token "mb", VariableDeclaratorId expected after this
token
- Syntax error on token(s), misplaced construct(s)
而当写下主方法把CounterText 中的代码括起来时,错误就消失了,或者不写主方法,仅仅把CounterText 中的代码用一个大括号括起来,错误同样消失,请教各位这是怎么回事呢,这一个大括号起的什么作用呢?import java.awt.Dimension;import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;public class CounterText {
JFrame frame = new JFrame("计算器");
JMenuBar mb = new JMenuBar();
JMenu m1 = new JMenu(" File");
JMenu m2 = new JMenu(" Save");
JMenuItem item1 = new JMenuItem("New");
JMenuItem item2 = new JMenuItem("hello");
frame.setJMenuBar(mb);
mb.add(m1);
mb.add(m2);
m1.add(item1);
m1.add(item2);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(new Dimension(200, 300));
frame.setVisible(true);
}
frame.setJMenuBar(mb);mb.add(m1);
mb.add(m2);m1.add(item1);
m1.add(item2);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setSize(new Dimension(200, 300));
frame.setVisible(true);这些语句只能在方法中,不能直接写在类中,给它加上大括号后成为块代码就行了
public class Test
{
Object obj;
Object obj1=new Object(); //声明同时赋值可以。
//System.out.println("Hello world"); //这句执行语句出现在这里就不对了。
{
System.out.println("Hello world"); //出现在这里也可以,此段代码没有方法名,
//是在初始化的时候执行,程序无法调用。
}
Test()
{
System.out.println("Hello world"); 出现在这里就可以。产生对象时执行。
}
display()
{
System.out.println("Hello world"); 出现在这里就可以。 供类的对象调用。
}
}