ihongjun@ihongjun-ui-iMac:~/Funny/java/Pattern$ cat src/pattern/SinglePattern.java
package pattern;
import java.util.Hashtable;
public class SinglePattern {
private static SinglePattern single = new SinglePattern();
private Hashtable map = new Hashtable();
private SinglePattern(){ }
public static SinglePattern getInstance(){
return single;
}
public void setAttribute(Object key, Object value) {
map.put(key, value);
}
public Object getAttribute(Object key) {
return map.get(key);
}
}
ihongjun@ihongjun-ui-iMac:~/Funny/java/Pattern$ cat src/pattern/SingleMain.java
package pattern;
public class SingleMain {
public static void main(String[] args) {
SinglePattern single = SinglePattern.getInstance();
single.setAttribute("main", new SingleMain());
Object a = single.getAttribute("main");
Object b = single.getAttribute("main");
System.out.println("Object a :"+a);
System.out.println("Object b :"+b);
System.out.println(a == b);
}
}
ihongjun@ihongjun-ui-iMac:~/Funny/java/Pattern$ javac -d bin src/pattern/*.java
ihongjun@ihongjun-ui-iMac:~/Funny/java/Pattern$ tree
.
├── bin
│ └── pattern
│ ├── SingleMain.class
│ └── SinglePattern.class
├── lib
└── src
└── pattern
├── SingleMain.java
└── SinglePattern.java
5 directories, 4 files
ihongjun@ihongjun-ui-iMac:~/Funny/java/Pattern$ java -cp bin pattern.SingleMain
Object a :pattern.SingleMain@579a19fd
Object b :pattern.SingleMain@579a19fd
true