Simple screenshot that explains the singleton invocation.

Here is the code:

 1 /*
 2 Some class,such as a config file,need to be only one.So we need to control the instance.
 3 1,private the constructor and create only one instance in the class itself.
 4 2,provide a method for the others to get the 'only one' instance.
 5 */
 6 package kju.obj;
 7 
 8 import static kju.print.Printer.*;
 9 public class SingletonDemo {
10     public static void main(String[] args) {
11         SingleConfig con01 = SingleConfig.getInstance();
12         SingleConfig con02 = SingleConfig.getInstance();
13         println("con01 color : " + con01.getColor());
14         println("con02 set color : ");
15         con02.setColor("Blue");
16         println("con01 color : " + con01.getColor());
17         /*
18         con01 color : Orange
19         con02 set color :
20         con01 color : Blue
21         */
22     }
23 }
24 
25 class SingleConfig {
26     private String color = "Orange";
27     private static SingleConfig s = new SingleConfig();
28 
29     private SingleConfig() {}
30     public static SingleConfig getInstance() {
31         return s;
32     }
33 
34     public void setColor(String color) {
35         this.color = color;
36     }
37 
38     public String getColor() {
39         return color;
40     }
41 }

And the corresponds the code above:

posted @ 2014-03-08 22:59  wonkju  阅读(191)  评论(0编辑  收藏  举报