诸位高手,大家好:
    我是一名学习软件工程的学生,近日,我碰到了下面的一个问题:
    这是我定义的“JButton控件”的“子类”:MyJButton的源代码:
     private static final long serialVersionUID = 1L;
int i = 0;
public MyJButton0(String button, final String url,final String doctor_name,final int Systemcontrolname,int online,int complicatingnum) {
super(button);
this.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try {
// 定义网址为webSite的内容 URI uri = new URI(url);
Desktop desktop = Desktop.getDesktop();
desktop.browse(uri);    String str9 = doctor_name;
new ChatClient(str9,Systemcontrolname);
i++;
} catch (URISyntaxException e1) {
} catch (IOException ex) {
// TODO Auto-generated catch block
ex.printStackTrace();
}
}
});
}
}
------------------------------------------------------------------------------------------------
    这是我的”C_port_ChatClient_DS类“的代码:
    public class C_port_ChatObject_DS {
    public static final String JB0 = null;
public String UIDLocal = null;
    String roleLocal = null;
    int ChatObjectUIDLocal = -1;
    Socket so1 = null;
Socket so2 = null;
Socket so3 = null;
String IPAddress = null;
static int orderformnumDoctor = 0;
int Localonline = 0;
int Clientnum = 0;
 

public C_port_ChatObject_DS(String UID,String role,int ChatObjectUID,Socket s1,Socket s2,Socket s3,String IPaddress,int orderformnum){
if(UIDLocal!=null)
UIDLocal = UID;
if(role!=null)
roleLocal = role;
if(ChatObjectUID!=-1)
ChatObjectUIDLocal = ChatObjectUID;
if(so1!=null)
so1 = s1;
if(so2!=null)
so2 = s1;
if(so3!=null)
so3 = s3;
if(IPAddress != null)
IPAddress = IPaddress;
if(orderformnum!=0)
orderformnumDoctor = orderformnum;
}

public C_port_ChatObject_DS(String UID,String role,int ChatObjectUID,String IPaddress,Socket s1){
if(UIDLocal!=null)
UIDLocal = UID;
if(role!=null)
roleLocal = role;
if(ChatObjectUID!=-1)
ChatObjectUIDLocal = ChatObjectUID;
if(IPaddress!=null)
IPAddress = IPaddress;
if(so1!=null)
so1 = s1;
}
public C_port_ChatObject_DS(Socket s2,Socket s3){
if(so2!=null)
so2 = s2;
if(so3!=null)
     so3 = s3;
}
public C_port_ChatObject_DS(){
UIDLocal = null;
    roleLocal = null;
    ChatObjectUIDLocal = -1;
    so1 = null;
so2 = null;
so3 = null;
IPAddress = null;
orderformnumDoctor = 0;
Localonline = 0;
Clientnum = 0;
}}
------------------------------------------------------------------------------------------------
    这是我的“C_port_set_DS类的”代码:
    (我做了截图...)
    
------------------------------------------------------------------------------------------------
    求高手点拨:
    我的“C_port_set_DS类”文件中,其错误:
    第207行到221行代码的错误原因,是什么?
    如何修改....
    谢谢诸位高手!!
    此致
敬礼
                                                一位向着理想,日日夜夜不知疲倦地奔跑的学生
                                                2013年6月9日星期日早晨6点正Java调试错误原理集合

解决方案 »

  1.   

    这不叫集合使用,谢谢,你上面定义的是静态变量(蓝色),然后在类中直接写调用代码?它起码要放到构造函数或者静态块里。你先把Java最基本语法搞清楚了再说。
      

  2.   

    很显然上面蓝色list和下面的list不是同一个
      

  3.   

    你需要把下面的add操作放到构造方法内
      

  4.   

    java不是C++ ,不是随便哪里都可以定义static,
    java中,static 只能作为field存在。如下代码import java.util.*;
    public class C_port_ChatObject_DS 
    {
    //在类声明
    static ArrayList<C_port_ChatObject_DS> list = new ArrayList<C_port_ChatObject_DS>(); public static void main(String[] args) 
    {

    list.add(new C_port_ChatObject_DS());
    list.add(new C_port_ChatObject_DS());
    list.add(new C_port_ChatObject_DS());
    list.add(new C_port_ChatObject_DS());
    list.add(new C_port_ChatObject_DS());
    list.add(new C_port_ChatObject_DS()); System.out.println("Hello World!");
    }
    }