静态类是用来描述某一类所有对象的信息。换句话说就是不必建立实体便可以使用静态数据,静态数据的内存是分配在全局共有的区段,所有类的实体都可以存取之。 静态数据设定为private,静态方法设定为public是一个封装静态数据的好办法。静态方法在编译(Compiler)被当作全局函数。静态成员的生命周期就是限定在应用程序的生命周期之中。静态方法不能使用this保留字。This是指向对象本身的指针。换句话说就是静态方法只能存取静态数据和其他的静态方法。
调试欢乐多
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()); //接收服务器回应并写入文本域
}
}
这时候就要注意了
private clientAgent ca =null;呵呵,这两个变量可不是指向同一个实例哦private static clientAgent ca =null;
1、非静态方法不用new也可以直接直接访问静态或非静态成员。
2、静态方法如static void main,必须new一个对象,才能访问非静态成员,而如果你要访问的成员是静态的,调用的方法中new不new也能访问它。这是语法,不要问为什么。根据我这两句话,你所有问题都会解决~~