当前位置: 代码迷 >> Java Web开发 >> [求助][java]一个类只能产生一个对象?
  详细解决方案

[求助][java]一个类只能产生一个对象?

热度:257   发布时间:2007-05-17 17:17:08.0
[求助][java]一个类只能产生一个对象?
问一个问题~~是JAVA的 ~~~就是写一个类~~但是这个类只能New一个对象怎么实现了??
求救高手~~具体过程~
搜索更多相关主题的帖子: java  对象  

----------------解决方案--------------------------------------------------------
单例模式

----------------解决方案--------------------------------------------------------
呵呵,是啊.网上搜索很多的~
----------------解决方案--------------------------------------------------------
不怎么懂了~~可以说明白点不了 ~~
----------------解决方案--------------------------------------------------------

[CODE]public class A{
private static A a;
private A(){}
public synchronized static A getInstance(){
if(a==null)
a=new A();
return a;
}
}[/CODE]

这样就可以保证,永远只有一个A的实例,因为构造函数为私有,别人在外面无法NEW对象出来,要得到A的对象,只能能过静态方法getInstance来获取,并且你每次获取的都是同一个对象

就是单例模式


----------------解决方案--------------------------------------------------------
楼上正解
----------------解决方案--------------------------------------------------------
我不明白
public synchronized static A getInstance(){
if(a==null)
a=new A();
return a;
}

synchronized static A 是返回类型马
那 synchronized 是什么

private static A a;是声明A的变量a吗


----------------解决方案--------------------------------------------------------
synchronized 方法控制对类成员变量的访问:每个类实例对应一把锁,每个 synchronized 方法都必须获得调用该方法的类实例的锁方能执行,否则所属线程阻塞,方法一旦执行,就独占该锁,直到从该方法返回时才将锁释放,此后被阻塞的线程方能获得 该锁,重新进入可执行状态。
----------------解决方案--------------------------------------------------------
  相关解决方案