静态类是用来描述某一类所有对象的信息。换句话说就是不必建立实体便可以使用静态数据,静态数据的内存是分配在全局共有的区段,所有类的实体都可以存取之。  静态数据设定为private,静态方法设定为public是一个封装静态数据的好办法。静态方法在编译(Compiler)被当作全局函数。静态成员的生命周期就是限定在应用程序的生命周期之中。静态方法不能使用this保留字。This是指向对象本身的指针。换句话说就是静态方法只能存取静态数据和其他的静态方法。

解决方案 »

  1.   

    想做什么?是不是main函数里面调用main所在类的变量:)在main里面new一下,再引用。一般小段程序的测试我是采用这用方法的。
      

  2.   

    静态变量可以用来作为全局用途,例如类实例化的计数器,全局可能共用的方法也可以申明为static,例如读取配置文件的方法等
      

  3.   

    private clientAgent ca =null;
        public static void main(String[] args)
        {
            javaClient frame=new javaClient();
            frame.pack();//注意javaClient是JFrame的派生类,调用基类方法
            frame.setVisible(true);
            clientAgent ca =new clientAgent("127.0.0.1",1001); //传递服务器名称和端口号
        }    public void actionPerformed(ActionEvent e)
        {
            if(e.getSource()==sendButton) //判断事件源控件是否是"发送"按钮
            {
                ca.sendRequest(inputField.getText()); //发送文本框中的文本
                outputAera.append("\n"+ca.getResponse()); //接收服务器回应并写入文本域
            }
        }
    这时候就要注意了
      

  4.   

    如果你有msdn,就可以查到怎么办
      

  5.   

    clientAgent ca =new clientAgent("127.0.0.1",1001); 
    private clientAgent ca =null;呵呵,这两个变量可不是指向同一个实例哦private static clientAgent ca =null;
      

  6.   

    两句话概括你的问题:
    1、非静态方法不用new也可以直接直接访问静态或非静态成员。
    2、静态方法如static void main,必须new一个对象,才能访问非静态成员,而如果你要访问的成员是静态的,调用的方法中new不new也能访问它。这是语法,不要问为什么。根据我这两句话,你所有问题都会解决~~