日期:2014-05-20  浏览次数:20591 次

哪位高人知道。。。。。。
import java.awt.*;
import java.awt.event.*;
 
 class smp113 extends Frame
 {
  public static void main(String args[])
  {
  smp113 frm=new smp113();
  }
  static Button btn1,btn2,btn3;
  static smp113cvs cvs;
  smp113()
  {
  setBackground(Color.cyan);
  setSize(400,280);
  setVisible(true);
  setLayout(null);
  btn1=new Button("上一页");
  btn2=new Button("下一页");
  btn3=new Button("退 出");
  btn1.setBounds(320,60,60,30);
  btn2.setBounds(320,120,60,30);
  btn3.setBounds(320,180,60,30);
  add(btn1);
  add(btn2);
  add(btn3);
  cvs=new smp113cvs();
  cvs.setBounds(0,20,300,230);
  add(cvs);
  btn1.addActionListener(cvs);
  btn2.addActionListener(cvs);
  btn3.addActionListener(cvs);
  }
 }
Button和smp113cvs为啥要设置成静态的呢???????????

------解决方案--------------------
在程序中任何变量或者代码都是在编译时由系统自动分配内存来存储的,而所谓静态就是指在编译后所分配的内存会一直存在,直到程序退出内存才会释放这个空间,也就是只要程序在运行,那么这块内存就会一直存在。
在Java程序里面,所有的东西都是对象,而对象的抽象就是类,对于一个类而言,如果要使用他的成员,那么普通情况下必须先实例化对象后,通过对象的引用才能够访问这些成员,但是有种情况例外,就是该成员是用static声明的(在这里所讲排除了类的访问控制)

------解决方案--------------------
探讨
在程序中任何变量或者代码都是在编译时由系统自动分配内存来存储的,而所谓静态就是指在编译后所分配的内存会一直存在,直到程序退出内存才会释放这个空间,也就是只要程序在运行,那么这块内存就会一直存在。
在Java程序里面,所有的东西都是对象,而对象的抽象就是类,对于一个类而言,如果要使用他的成员,那么普通情况下必须先实例化对象后,通过对象的引用才能够访问这些成员,但是有种情况例外,就是该成员是用sta……