【发布时间】:2014-05-08 13:16:48
【问题描述】:
我正在尝试制作 Clients 类单例,但它不起作用。这是我的课:
public class Clients {
private static Clients instance = null;
private ArrayList<Client> cList;
private Clients() {
cList = new ArrayList<Client>();
}
public static Clients getInstance() {
if (instance == null) {
System .out.println("created");
instance = new Clients();
}
return instance;
}
public static ArrayList<Client> getcList() {
return getInstance().cList;
}
public static void setcList(ArrayList<Client> cList) {
getInstance().cList = cList;
}
}
我在两个不同的类中得到这个实例(都有自己的主要功能)。在一个类中获取它的实例后,我在另一个类中获取它,但两个 tiare 仍在执行。
【问题讨论】:
-
您是否从多个线程访问?
-
你想达到什么目的?
-
另外,你提到两个类都有自己的 main 方法。这是否意味着您正在运行两个单独的程序来访问单例?如果是这样,单例不会超出特定的进程边界
-
我很困惑。您在两个类中执行此操作,并且都有自己的主要功能;这是否意味着您正在编译和运行两个不同的程序?