Java中怎么让一个类只能生成一个对象

 我来答
匿名用户
推荐于2018-03-19
展开全部
同意一楼,使用JAVA反射机制中的单例模式,既该类构造方法为private,在自身创建一个静态的对象,给一个公共方法获取该对象,
对一楼的例子进行扩充
例:public class A{
private static A a = new A(); //声明为static是为了确保只有一个对象存在,详见static修饰符
private A(){} //构造方法为private,此类无法创建对象
public static A getA(){
return a;
}
}
当使用时: A b = new A();//错误做法,无法获取对象
A b = A.getA();//正确做法
匿名用户
2013-09-01
展开全部
好像不可以吧,只能说对类进行保护。

看用static计数器是不是你想要的,类只能被装载一次,第二次装载的时候就会抛出一个运行时异常
public class Main {
public static int objectCount = 0;
public Main() {
if(objectCount!= 0) {
throw new RuntimeException();
}
objectCount++;
}
public static void main(String[] args) {
Main m1 = new Main();
try {
Main m2 = new Main();
}catch(RuntimeException exp) {
System.out.println("Can not make multiple Object!");
}finally {
System.out.println("Continue...");
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-09-01
展开全部
有个设计模式叫单例,单例的类就只能生成一个对象。
public class Sigleton {
private Sigleton instance = new Sigleton();
private Sigleton(){}
public static Sigleton getInstance(){
return instance;
}

}
以上写了个最简单的实现。可以参考一下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-09-01
展开全部
这就是所谓的单例模式,baidu搜下就有了。
就是把构造方法设为private,然后自己控制一下。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式