单子模式,请问当SingletonPattern.getInstance()时,是否会默认先调用一下构造器private SingletonPattern()?public class SingletonPattern {
private double r;
private static SingletonPattern sp;
private SingletonPattern(){
r = java.lang.Math.random();
}
public static SingletonPattern getInstance(){
if(sp == null){
sp = new SingletonPattern();
}
return sp;
}
public double getR(){
return r;
}
public static void main(String[] args) {
SingletonPattern sp1 = SingletonPattern.getInstance();
SingletonPattern sp2 = SingletonPattern.getInstance();
System.out.println(sp1.getR());
System.out.println(sp2.getR());
}
}
private double r;
private static SingletonPattern sp;
private SingletonPattern(){
r = java.lang.Math.random();
}
public static SingletonPattern getInstance(){
if(sp == null){
sp = new SingletonPattern();
}
return sp;
}
public double getR(){
return r;
}
public static void main(String[] args) {
SingletonPattern sp1 = SingletonPattern.getInstance();
SingletonPattern sp2 = SingletonPattern.getInstance();
System.out.println(sp1.getR());
System.out.println(sp2.getR());
}
}
解决方案 »
- 哪里错?
- 求教一个有关windows接口的问题
- java中怎样按照big endian输出
- 请问怎么才能把panel放在Contener的确定位置?大虾帮忙啊!!!
- vector中存放值取出来的总是最后一个值
- 面向对象概念问题
- 新手的问题:为什么 Could not create the Java virtual machine.
- 用java.exe执行一个xxx.class文件后出现如下错误是怎么回事?
- 照书输了一段程序,但是编译通不过,说是有一个class没定义让定义成abstract,可是....
- SOS:JAVA 中对树进行操作的问题---谈谈想法也可以了。!
- 关于executorservice的使用
- JAVA中执行器的问题
不会
那要private SingletonPattern(){
r = java.lang.Math.random();
}
还有什么用吗?直接定义一次r = java.lang.Math.random();不得了,为何还要把它放在构造器中啊?
不放在constructor里当然也是可以的
但是你怎么都得有个private的constructor。否则就不能保证sintleton了