在import java.awt.*;
import javax.swing.*;public class p179a extends Frame{  static TextField textfield1=new TextField("textField1");
  static Checkbox checkbox1=new Checkbox("checkbox1");
  static Label label1=new Label("label1");
  static Button button1=new Button("button1");  public static void main(String[] args){
    p179a frame1=new p179a();
    frame1.setSize(300,200);
    
    frame1.add(textfield1,BorderLayout.NORTH);
    frame1.add(checkbox1,BorderLayout.WEST);
    frame1.add(label1,BorderLayout.EAST);
    frame1.add(button1,BorderLayout.SOUTH);
    frame1.setVisible(true);
    }
  }\
main是STATIC 的.所以他调用的变量也是STATIC 的.所以frame1必须定义成STATIC .
import java.awt.*;public class  AWTCompFrame extends Frame {
  Button button1 = new Button();
  Checkbox checkbox1 = new Checkbox();
  TextField textField1 = new TextField();
  Label label1 = new Label();  
  public static void main(String agrs[]) {
    AWTCompFrame frame1=new AWTCompFrame();
    frame1.go();
    frame1.setSize(300,200);
    frame1.setVisible(true);
  }

  void go(){
    button1.setLabel("button1");
    checkbox1.setLabel("checkbox1");
    textField1.setText("textField1");
    label1.setText("label1");
    this.add(button1, BorderLayout.SOUTH);
    this.add(checkbox1, BorderLayout.WEST);
    this.add(textField1, BorderLayout.NORTH);
    this.add(label1, BorderLayout.EAST);
  }
}   这个程序中用对象调用go()方法,而go()不是STATIC 的.所以他里面的也不用提前定义成STATIC .
不知你明白没.