//单子设计模式要点:
//1、所有的构造函数必须被声明为私有的(private),而且必须至少声明一个构造函数
//2、提供一个public static 方法能够访问创建的类
//单子设计模式例子
//单子设计模式要点:
//1、所有的构造函数必须被声明为私有的(private),而且必须至少声明一个构造函数
//2、提供一个public static 方法能够访问创建的类
package com.sinojava.three;
class Singlton {
private static Singlton singlton=null;
private int x ;
private Singlton( int x) {
this.x=x;
}
public static Singlton getObject(int x) {
if (singlton==null) {
singlton=new Singlton(x);
}
return singlton;
}
public int getValue() {
return this.x;
}
public void setValue(int i) {
this.x=i;
}
};
class Singlton_static {
private static Singlton_static singlton=new Singlton_static(5) ;
private int x ;
private Singlton_static( int x) {
this.x=x;
}
public static Singlton_static getObject(int x) {
return singlton;
}
public int getValue() {
return this.x;
}
public void setValue(int i) {
this.x=i;
}
};
public class TestSinglton {
public static void main(String[] args) {
Singlton a=Singlton.getObject(1);
Singlton_static b =Singlton_static.getObject(1);
System.out.println(b.getValue());
System.out.println(a.getValue());
System.out.println("Hello World!");
}
}